#include <stdio.h>
#include <stdlib.h>
struct test
{
int id;
char name[20];
};
int main()
{
struct test t1;
t1.id=1;
fflush(stdin);
fgets(t1.name,20,stdin);
print((&t1.name));
print1(t1.id,&(t1.name));
}
void print(struct test *name)
{
puts(name);
}
void print1(struct test id,struct test *name)
{
printf("\n%d\n",id);
puts(name);
}
當運行該程序,它要求輸入爲什麼放在下面的代碼不工作?
測試[輸入]
輸出出來
測試(然後程序終止)
爲什麼第一放工作,爲什麼把第二個功能沒有?是的,可以選擇發送完整的結構,但我想知道這裏有什麼問題。
一開始'fflush(標準輸入);'不正確。去掉它。 –
也許編譯與所有的警告將幫助 –
我已經開始使用刷新時,需要採取多個字符串變量同時例如string1,string2與fgets。如果我不使用fflash()字符串的輸入更奇怪 – ekaf