直接上代码:
#include <stdio.h>
int sum_num(int arr[],int length){
int i,sum;
for(i = 0;i < length;i++){
sum += arr[i];
printf("sum为%d\n",sum);
}
return sum;
}
int main(){
int arr[]={80,70,66,35,95,78,58,67,87,90};
int len=sizeof(arr)/sizeof(arr[0]);
printf("总分是%d\n",sum_num(arr,len));
return 0;
}
为什么输出的结果是这样的:
请问为什么是输出这个结果?用的编辑器是dev-C++!
你初始化了?
#include <stdio.h>
int sum_num(int arr[],int length){
int i,sum=0;
for(i = 0;i < length;i++){
sum += arr[i];
printf("sum为%d\n",sum);
}
return sum;
}
int main(){
int arr[]={80,70,66,35,95,78,58,67,87,90};
int len=sizeof(arr)/sizeof(arr[0]);
printf("总分是%d\n",sum_num(arr,len));
return 0;
}
sum是栈上的未初始化变量,它的值是随机的,有可能是0也有可能不是0。初始化为0就行了