雨中漫步~ 发表于 2021-9-11 16:45:45

对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。

求教各位,为什么我的程序输出结果总是为0

大马强 发表于 2021-9-11 16:50:27

发发代码
感觉num赋值有问题

雨中漫步~ 发表于 2021-9-11 16:53:56

#include <stdio.h>

int main()
{
        char num;
        int is_num = 1, result = 0;
       
        while(is_num)
        {
                printf("请输入合法的数字:");
                scanf("%s", &num);
                if(num >='0' && num <='9')
                {
                        result = result + (num - '0');
                }
                else{
                        is_num = 0;
                }
        }
        printf("结果是:%d", result);
       
        return 0;
}

大马强 发表于 2021-9-11 16:54:40

char nun 只能接收一個字符,所以要用数组 num

雨中漫步~ 发表于 2021-9-11 17:00:48

那等我学了数组再来回看吧,谢谢

大马强 发表于 2021-9-11 17:05:52

牵扯到数组,就需要遍历了
发代码的方法 点击消息框上的<>就可以插入代码了
#include <stdio.h>

int main()
{
      char num;
      int is_num = 1, result = 0,i;
      printf("请输入合法的数字:");
      scanf("%s", &num);
      while(is_num && num!='\0')
      {
                for(i =0 ; num!='\0';i++)
                {
                        if(num >='0' && num <='9')
                        result = result + (num - '0');
                  else
                          is_num = 0;
                                }
      }
      printf("结果是:%d", result);
      
      return 0;
}

雨中漫步~ 发表于 2021-9-11 17:09:59

大马强 发表于 2021-9-11 17:05
牵扯到数组,就需要遍历了
发代码的方法 点击消息框上的    就可以插入代码了

非常感谢

大马强 发表于 2021-9-11 17:13:39

雨中漫步~ 发表于 2021-9-11 17:09
非常感谢

{:10_297:}
页: [1]
查看完整版本: 对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。