為什么定義sum的時候要賦值sum=0,而只定義不賦值的時候計算結果是錯的呢?大神就指教
#include <stdio.h>
int main()
{
? ? int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
? ? int i,j;
? ? int sum=0;
? ? for(i=0;i<3;i++)
? ? {
? ? ? ? for(j=0;j<3;j++)
? ? ? ? {
? ? ? ? ? ? printf("arr[%d][%d]=%d\n",i,j,arr[i][j]);
? ? ? ? ? ??
? ? ? ? ? ? if(i%2==0&&j%2==0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? sum+=arr[i][j]; ? ?
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? sum+=arr[1][1];
? ? printf("對角線元素之和是:%d\n",sum);
? ? return 0; ? ?
}
2017-09-07
因為你在后面用了“sum+=xx”,意思是sum=sum+xx,如果你在開始時不賦值,那么第二個sum是沒有值的,那么這個加法沒有意義了,而你給了sum=0,那么相當于sum=0+xx,這時候才有效
2017-10-21
如果只定義sum,沒賦值,當用到sum的時候,系統就會隨機給sum賦值一個值.