我必须编写从键盘读取三个整数的代码并输出它们的总和。这是否意味着只应输入整数,还是应该能够添加字符?这是我的代码:
#include <stdio.h>
int main(void) {
int a, b, c, d;
printf("\n Enter the three numbers:");
scanf("%d %d %d", &a, &b, &c);
d = a + b + c;
printf("sum of numbers is %d", d);
}
答案 0 :(得分:3)
scanf("%d %d %d", &a, &b, &c);
解析3个十进制整数的输入流,可选择用空格分隔(空格,制表符,换行符......)。
如果存在任何其他字符(例如字母,小数点,逗号......)或者输入的输入不足,scanf
将返回与3
不同的结果输出变量不会被设置。始终测试scanf
的返回值。
以下是更正后的版本:
#include <stdio.h>
int main(void) {
int a, b, c, d;
printf("\n Enter the three numbers:");
if (scanf("%d %d %d", &a, &b, &c) == 3) {
d = a + b + c;
printf("sum of numbers is %d\n", d);
}
return 0;
}