为了账号安全,请及时绑定邮箱和手机立即绑定

为什么定义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;    

}


正在回答

2 回答

因为你在后面用了“sum+=xx”,意思是sum=sum+xx,如果你在开始时不赋值,那么第二个sum是没有值的,那么这个加法没有意义了,而你给了sum=0,那么相当于sum=0+xx,这时候才有效

1 回复 有任何疑惑可以回复我~
#1

慕运维7104542 提问者

非常感谢!
2017-09-07 回复 有任何疑惑可以回复我~

如果只定义sum,没赋值,当用到sum的时候,系统就会随机给sum赋值一个值.

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么定义sum的时候要赋值sum=0,而只定义不赋值的时候计算结果是错的呢?大神就指教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信