Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 奇数整数相加不正确_C_For Loop - Fatal编程技术网

C 奇数整数相加不正确

C 奇数整数相加不正确,c,for-loop,C,For Loop,做一个练习,从用户那里取5个整数,只加奇数。由于某种原因,在最后一个数字将所有内容弄乱之前,所有内容都正确相加: #包括 int main(){ int userNum[5]; int i; 整数和=0; 对于(i=1;i 0){ sum=sum+userNum[i]; } } printf(“所有奇数整数之和为:%d”,总和); 返回0; } 您正在通过userNum[5]将5个数字读入数组元素userNum[1],但由于数组索引在C中从0开始,userNum[5]不存在,并且当程序尝试将数

做一个练习,从用户那里取5个整数,只加奇数。由于某种原因,在最后一个数字将所有内容弄乱之前,所有内容都正确相加:

#包括
int main(){
int userNum[5];
int i;
整数和=0;
对于(i=1;i 0){
sum=sum+userNum[i];
}
}
printf(“所有奇数整数之和为:%d”,总和);
返回0;
}

您正在通过
userNum[5]
将5个数字读入数组元素
userNum[1]
,但由于数组索引在C中从0开始,
userNum[5]
不存在,并且当程序尝试将数字存储到数组末尾之外时,程序具有未定义的行为。其他一些变量被修改,输出是假的。未定义的行为实际上可能会产生更糟糕的后果,比如一个虚假的候选人以比对手少的选票赢得选举:)

以下是更正的版本:

#包括
int main(){
int userNum[5];
int i;
整数和=0;
对于(i=0;i<5;++i){
printf(“请输入编号%d:\n”,i+1);
如果(scanf(“%d”,&userNum[i])!=1){
printf(“无效输入\n”);
返回1;
}
如果(userNum[i]%2>0){
sum=sum+userNum[i];
}
}
printf(“所有奇数整数的和为:%d\n”,和);
返回0;
}

i=1;我非常感谢(i=0;i<5;++i)
这样做了谢谢!!和
#include <stdio.h>

int main() {
    int userNum[5];
    int i;
    int sum = 0;

    for (i = 1; i <= 5; ++i) {
        printf("Please enter number %d:\n", i);
        scanf("%d", &userNum[i]);

        if (userNum[i] % 2 > 0) {
            sum = sum + userNum[i];
        }
    }
    printf("The sum of all odd integers is: %d", sum);

    return 0;
}