当我在 linux 上使用 GCC 编译它时,当我等待输入时,“hi”出现了。我不想使用 scanf,并且想知道为什么在我要求用户输入名称时显示 hi。此外,当我想打印刚刚通过的文件的名称时,我会得到垃圾字符。在netbeans中,我得到了我想要的。但在 linux 上,它决定表现得很奇怪。请帮忙
代码:
int main(int argc, char** argv)
{
char val[70];
if(write(1, "Please input your name", 36)!=36)
{
return -1;
}
if(read(0, val, 36) < 0)
{}
if(write(1, val, 36)!=36)
{}
printf("Yo");//THIS IS PRINTING OUT WAY BEFORE IT IS CALLED, ANY VARIABLE WITH A STRING GETS PRINTED OUT, EVEN WITHOUT PRINTF BEING INVOKED
}
输出:
Please input the file nameYo: hi
hi
???Om?0?a?Sm? <<WHAT IS THIS? I DONT GET THIS ON NETBEANS