C中的多个输入

时间:2017-10-09 18:15:33

标签: c

刚开始在CS 221课程中学习C / C ++。

这是我的代码的开头:

.cc

无法将我的头部缠绕在char数组,stdin和c中的缓冲区中。为什么上面的代码会跳过用户输入名称?我需要fflush吗?无法实现这一目标。

1 个答案:

答案 0 :(得分:0)

不确定为何使用

scanf("%4i", id);

但请尝试:

scanf("%d", &id );

这解决了%4i格式的问题,并将其替换为%d的“十进制整数”格式。

这也解决了, id);的问题,因为这样写的,不会允许存储id,并且肯定会崩溃。

如果您遇到数字问题而导致数据类型过大,可能会检查数据类型int的边界,这些边界将是特定于平台的。

同样改变:

scanf("%99[^\n]",name);

为:

scanf("%s\n",name);

这将获取用户通过scanf输入的数据,并将其解释为“字符串”并将其正确放入name