C语言编程四则运算计算题
在每个scanf()函数后面加一句:
getchar();
记住每一句后面都要加哦
如果正确了,再追问
更多追问追答
为什么啊,现在是不让我输入
不可能啊,把你改过的代码贴出来,我测试过了,没问题啊
在每个scanf()函数后面加,如:i=scanf("%d",&t);getchar();
真的可以了,这是为什么呢???
一、scanf()函数在读整数时(%d),如果你输入的是非数字,则函数认为读数据错,但这个数据(非数字字符)不会丢弃,会存在缓存中,等到你再次读数据时,它又从缓存中去读,又读到了这个字符,所以一直会报illegalinput,而且不让输入。这时,getchar()函数就可以起到将缓存中的数据接收出来,让程序继续去等待输入数据!
二、scanf()函数是以回车为确认的,但回车又不作为数据的有效部分,会存在缓存中,因此,你输入正确的时候,getchar()接收到的是回车符!不影响你的程序运行。
哦哦原来如此,太感谢了大神!您到百度知道搜一下C编程猴子分桃问题,帮我看一下那个问啥执行不了呗,,,