C 在for循环中使用sum的问题
嗨,抱歉,这可能是一个愚蠢的问题,但我只是在C中移动我的第一步,我找不到任何具体的答案,所以: 假设我必须对一些整数求和,为什么表达式C 在for循环中使用sum的问题,c,sum,C,Sum,嗨,抱歉,这可能是一个愚蠢的问题,但我只是在C中移动我的第一步,我找不到任何具体的答案,所以: 假设我必须对一些整数求和,为什么表达式sum+=sum,在这段代码中只返回我输入的最后一个数字time2(lastNumber*2) unsigned int count=0,sum=0; printf(“你想和多少个数字求和:”); 扫描频率(“%u”,计数(&C); 对于(int i=1;i与直线 scanf ("%u", &sum); // Let's say the user ente
sum+=sum
,在这段代码中只返回我输入的最后一个数字time2(lastNumber*2)
unsigned int count=0,sum=0;
printf(“你想和多少个数字求和:”);
扫描频率(“%u”,计数(&C);
对于(int i=1;i与直线
scanf ("%u", &sum); // Let's say the user enters "7"
在每次迭代中,您都会使用用户输入的新值覆盖sum的值
sum = sum + sum; // equivalent to sum = 7 + 7;
您可以通过使用两个变量来避免这种情况:
int sum = 0;
int userIn = 0;
scanf ("%u", &userIn); // userIn has now the value of the user input
sum += userin; // Add that value to the sum
在执行scanf(…,&sum)时,实际上覆盖了它的值。
所以,每次迭代你什么也不做。
一般来说,将变量专用于每个目的是一种良好的做法。这意味着-变量包含总和,而另一个变量则获取用户输入。您可能希望:
unsigned int count = 0, sum = 0;
printf("How many numbers do you want to sum: ");
scanf("%u", &count);
for (int i = 1; i <= count; ++i) {
printf("enter the integer: ");
unsigned int value;
scanf("%u", &value);
sum += value; // or sum = sum + value;
}
printf("the sum of all the %u numbers is: %u\n", count, sum);
unsigned int count=0,sum=0;
printf(“你想和多少个数字求和:”);
扫描频率(“%u”,计数(&C);
对于(int i=1;i因为sum+=sum;
相当于sum=sum+sum;
和(sum+sum)相当于(2*sum).sum+=sum
=sum=sum+sum
确定它是sum*2
为输入目的使用一个变量如何?请缩进您的代码。sum+=x
根本不应该编译。现在,如果正确声明x之后,您要scanf(%u,&x)
,您的解决方案会更接近。。。
unsigned int count = 0, sum = 0;
printf("How many numbers do you want to sum: ");
scanf("%u", &count);
for (int i = 1; i <= count; ++i) {
printf("enter the integer: ");
unsigned int value;
scanf("%u", &value);
sum += value; // or sum = sum + value;
}
printf("the sum of all the %u numbers is: %u\n", count, sum);