C语言数组输入问题,为什么输出时第一个数没有了??如果把if判断放到循环的最后又正常了??

2025-02-02 06:43:28
推荐回答(5个)
回答1:

其实那个字符在的,只不过你没把它显示出来啦!getchar()函数,从标准输入里读入一个字符,然后返回这个字符。你把它读入了,但是没有返回。只是拿它和'\n'进行了比较。
#include
void main()
{
int a[100], i, n=0;
char tmp;
printf("请输入数组:\n");
for(i=0;;i++)
{
tmp = getchar();
printf("%c",tmp);
if(tmp=='\n')
break;
scanf("%d",&a[i]);
printf("%d ",a[i]);
}
}

你可以再试试,加油!

回答2:

第一个字符被getchar()=='\n' “吃了”

回答3:

for(i=0;;i++)
少了一个,for(i=0;i<100;i++)

回答4:

休息想

回答5:

..