18971811635 发表于 2021-10-6 09:44:10

getchar问题求助

为什么这里打印的出来的是1到5 对应的ASCII的值求和?感谢!

wp231957 发表于 2021-10-6 09:55:25

49+50=99

hrpzcf 发表于 2021-10-6 10:10:26

本帖最后由 hrpzcf 于 2021-10-6 10:16 编辑

getchar获取到的是字符,字符相加就是ascii码相加

#include <stdio.h>

int main(void) {
int i, sum;

printf("请输入数字:");
for (sum = 0; scanf("%d", &i) != 0; sum += i) {
    printf("请输入数字:");
    fflush(stdin);
}

printf("计算结果是:%d", sum);

return 0;
}

jackz007 发表于 2021-10-6 10:15:25

sum = sum + i
         改为
sum = sum + i - '0'

18971811635 发表于 2021-10-6 10:48:49

wp231957 发表于 2021-10-6 09:55
49+50=99

谢谢!

18971811635 发表于 2021-10-6 10:49:30

hrpzcf 发表于 2021-10-6 10:10
getchar获取到的是字符,字符相加就是ascii码相加

谢谢!
页: [1]
查看完整版本: getchar问题求助