问题 填空题

若有以下程序:
main()

int a[4][4]=l,2,-3,-4,0,-12,-13,14,-21,23,0,-24,
-31,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[¨刚的值是否等于0,若等于0则退出内层循环开始处理下一行;其他情况下,把a[i][j]的值加到变量s中。所以本程序段的功能是把每行值为0的元素前面的所有大于0的元素值加到变量s中。

单项选择题
问答题 案例分析题