C 在两个给定数字之间添加数字?

C 在两个给定数字之间添加数字?,c,visual-studio-2015,C,Visual Studio 2015,我试图把两个给定的数字相加。例如,如果给定的数字是2和5,则2+3+4+5=14。我的代码的问题是,我没有将a、b和sum设置为任何值,但我不知道如何设置它们 #include <stdio.h> int main() { int a, b, sum; printf("%d\n", a); printf("%d\n", b); scanf_s("%d", a); scanf_s("%d", b); for (int x = a; x

我试图把两个给定的数字相加。例如,如果给定的数字是2和5,则2+3+4+5=14。我的代码的问题是,我没有将a、b和sum设置为任何值,但我不知道如何设置它们

#include <stdio.h>

int main() {
    int a, b, sum;
    printf("%d\n", a);
    printf("%d\n", b);
    scanf_s("%d", a);
    scanf_s("%d", b);
    for (int x = a; x <= b; x++) {
        sum += x;

    }
    printf("%d\n", sum);
    return sum;

}
#包括
int main(){
整数a,b,和;
printf(“%d\n”,a);
printf(“%d\n”,b);
扫描单位(“%d”,a);
scanf_s(“%d”,b);

对于(int x=a;x,如果您想按照示例求2到5之间的和

int a = 2;
int b = 5;

// Or for input from the user
scanf("%d",&a); // Note, for real you need to validate and do error handling
scanf("%d",&b); // Note, for real you need to validate and do error handling

int sum = 0;
sum
始终从0开始

a
是循环的开始,因此将其设置为较低的数字


b
是循环的结束,因此您可以将其设置为更高的数字。

我建议您确保了解printf和scanf_s函数的功能。然后查看执行程序时发生的情况,并将其与您编写的程序进行比较。您需要能够准确理解程序为什么会这样做


一旦您知道了程序为什么要执行它所执行的操作,您就可以开始了解如何将其更改为您希望它执行的操作。

我注意到了问题所在,下面是更正的代码:

#include <stdio.h>

int main() {
    int a, b, sum = 0;
    printf("insert num 1\n");
    scanf_s("%d", &a);
    printf("insert num 2\n");
    scanf_s("%d", &b);
    if (a < b) {
        for (int x = a; x <= b; x++) {
            sum += x;

        }
        printf("%d \n", sum);


    }
}
#包括
int main(){
int a,b,和=0;
printf(“插入数字1\n”);
scanf_s(“%d”和“&a”);
printf(“插入数字2\n”);
scanf_s(“%d”和“b”);
if(a对于(int x=a;x为什么不将它们全部设置为0?
int a=0,b=0,sum=0;
scanf_s(“%d”,a));
看起来不太好……您可以使用
静态int a,b,sum;
将所有变量初始化为0@AntonH我做到了,但它没有work@SouravGhosh我甚至没有看过,以为问题在于没有初始化
sum
。是的,但我希望它用于任何给定的输入!
scanf(“%d”,&a)
等等应该不会有助于我的否决票,只是想重申一下我在问题下提到的评论,可能这是浪费。我感谢你帮助OP的努力,但OP似乎首先需要一些自助。你知道对一系列连续数求和不需要循环吗?
求和=((b-a+1)*(a+b))/2;