关于getchar的疑惑
最近做了一道题,我的代码有片段是这样的
while(scanf("%d",&n))
{
if(n==0&&getchar()=='\n')
break;
...
我的本意是想当输入数字0且输入回车即退出循环,但是运行发现虽然输入0\n循环能退出,但是结果的数值发生了改变,出错了
后来有学长帮忙改,发现改成如下代码结果就不会发生改变
while(scanf("%d",&n))
{
char x=getchar();
if(n==0&&x=='\n')
break;
...
请问这里有什么区别吗?
大一菜鸡,求各位大佬帮忙

浙公网安备 33010602011771号