问题
填空题
若有以下程序
main()
int a[4][4]=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-21,32,-33,0;
int i,j,s=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
printf("%d\n",s);
执行后输出结果是 【10】 。
答案
参考答案:58
解析:本题中处理二维数组元素用了两重循环,外循环变量i表示数组的行,内层循环变量j表示数组的列。在第二重循环中首先判断数组元素的值是否小于0,若是则处理该行的下一个元素;若不是则判断a[i][j]的值是否等于0,若等于0则退出内层循环开始处理下一行;其他情况下,把a[i][j]的值加到变量s中。所以本程序段的功能是把每行值为0的元素前面的所有大于0的元素值加到变量s中。