C语言的问题 我写了需要用户两次输入数据的函数,为什么运行时我只输入了一次就直接出结果呐?

如题所述

要把
g=getchar();
改为:
scanf("%d",&g);
否则,不论输入什么,g读到的就是一个回车符‘\n’,其ASCII值为10追问

可是我必须要用getchar函数

追答


g=getchar();
改为:
g=getchar();
scanf("%d",&g);

追问

那这样不多此一举嘛,额,其实我知道这样可以,但就是想不通为什么用了scanf,getchar就不起作用了?

追答

getchar()是读取一个字符,而不是数字。如果是1~9位数字,处理时会麻烦许多。
“其实我知道这样可以”?不用scanf,getchar也“不起作用“的啊!

温馨提示:答案为网友推荐,仅供参考
相似回答