C新手,遇到一个奇怪的问题,只能来这里请假大咖们了
我先上code:数据类型为char
#include <stdio.h>
int main(void)
{
int a=0;
char b='n';
for(;;)
{
printf("need more?");
scanf("%c",&b);
if(b=='n')
{
break;
}
}
return 0;
}
数据类型为int
#include <stdio.h>
int main(void)
{
int a=0;
int b=10;
for(;;)
{
printf("need more?");
scanf("%d",&b);
if(b==10)
{
break;
}
}
return 0;
}
如果运行这个code,没有input ‘n',循环每次输出两次“need more?”
如果我把’b'的数据类型换做int,则不会出现这样的问题,实在不知道为什么,请教了。