关于scanf的使用

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:14:48
希望通过scanf函数让用户输入选择,同时在等待用户输入时使程序暂停。大体如下,
....
int a,b;
...
scanf("%d“,a);
...
scanf("%d",b);
...
但是在运行时我只输入了一个"5"程序就结束了!根本就没等我输入b,我加了一条语句输出a,b,发现b是空的。我用的是dev c++。这是什么原因?应该怎么办?我把第二个scanf换成getchar还是不行。谢了。
不好意思。可能是当时我定义的变量类型的输入的类型不同造成的.你可以试一试,#include <stdio.h>
void main()
{
int a,b,c;
scanf("%d",&a);
scanf("%d",&b);
printf("%d",b);
scanf("%d",&c);
}
如果在输入a是输入的是字母,则程序就不等你输入b,c了。但如果你把a,b,c改成char,输入输出也作相应改动,程序就很怪。是bug吗?

这样写:
scanf("%d",&a);
scanf("%d",&b);

补充:
实在看不出程序有什么问题,如果你说的是"如果在输入a是输入的是字母,则程序就不等你输入b,c了",那么是这个结果是合理的.你把%d改成%c就可以输入字母了.

当你把a,b,c改成char以后,你觉得程序奇怪也是正常的,因为回车也算是你输入的一部分.

你把整个程序都写出来啊!可能你程序本身就写错了