在华清学习C语言第二周的时间里,if(getchar()==0)这个判断条件执行的方式令我困惑许久,源代码如下
#include <stdio.h>
int main()
{
int a[40]={0};
for(int i=0;i<40;i++)
{
scanf("%d",&a[i]);
if(getchar()=='\n')
break;
}
return 0;
}
运行程序后,键盘输入,结束时回车换行一直没办法break,当数组输入时,没有办法进入if条件中,随后查阅资料和小陈老师后,改进程序如下:
#include <stdio.h>
int main()
{
int a[40]={0};
int s;
for(int i=0;i<40;i++)
{
scanf("%d",&a[i]);
s=getchar();
if(s=='\n')
break;
}
return 0;
}
令我还是疑惑,还需再仔细学习一下getchar使用方法。