新手求助
S1E14 动动手第1中,scanf函数会返回成功接收字符的个数,所以我们只需检查每次调用 scanf 函数的返回值是否为 1 即可,为什么输入字母就会结束,数字为1个字符,字母不也是1个字符么?#include <stdio.h>
int main()
{
int num = 0;
long sum = 0L; // 0L表示类型为long的0
int status;
do
{
printf("请输入合法的数字:");
sum = sum + num;
status = scanf("%d", &num);
} while(status == 1);
printf("结果是:%ld\n", sum);
return 0;
} %d只接收整数
%c是接收单个字符
%s是接收字符串 字母不是整型呀(%d)
scanf返回 成功输入的个数
自然是0了
另外 ‘1‘ 和1 也不一样 尛善领主 发表于 2021-6-18 23:22
%d只接收整数
%c是接收单个字符
懂了,多谢 万千只cnm 发表于 2021-6-18 23:48
字母不是整型呀(%d)
scanf返回 成功输入的个数
自然是0了
懂了,多谢
页:
[1]