姬世鹏 发表于 2019-11-1 17:19:29

一个小循环,不知道哪里错了。

#include<stdio.h>

int main()
{
    int ch,num,sum;
    for(ch=0;ch<7;ch++)
    {
       sum=0;
       printf("请输入合法数字:\n");
   scanf("%d",num);
   sum=sum+num;
        }
   printf("数字之和为%d",sum);
          
        return 0;
}

AmosAlbert 发表于 2019-11-1 17:19:30

scanf语句漏了&取地址符

Zanaffar 发表于 2019-11-1 18:04:01

一般在声明变量的时候就应该初始化了

每次循环都把 sum 重置为 0 了

scanf() 的第二个参数需要一个地址, 而不是一个变量


#include<stdio.h>

int main()
{
        int ch = 0, num = 0, sum = 0;

        for (ch = 0; ch < 7; ch++)
        {
                //sum=0;

                printf("请输入合法数字:\n");
                //scanf("%d", num);

                scanf("%d", &num);
                sum = sum + num;
        }
        printf("数字之和为%d", sum);

        return 0;
}

2238448641 发表于 2019-11-1 18:21:35

本帖最后由 2238448641 于 2019-11-1 18:26 编辑

sum=0放到循环外,获取变量要有地址符指引

姬世鹏 发表于 2019-11-1 22:40:53

AmosAlbert 发表于 2019-11-1 17:19
scanf语句漏了&取地址符

谢谢
页: [1]
查看完整版本: 一个小循环,不知道哪里错了。