#include " stdio. h"
void main( )
{
int i;
int a[8][8]= {20 ,30 ,32 ,50 ,52,68 ,52 ,88,72,78 ,61 ,89,1,4,101,24,11,14,97,83}
for(i=0;i<6;i++)
printf(“%d”,a[i++][1+i]);
#include " stdio. h"
void main( )
{
int i;
int a[8][8]= {20 ,30 ,32 ,50 ,52,68 ,52 ,88,72,78 ,61 ,89,1,4,101,24,11,14,97,83}
for(i=0;i<6;i++)
printf(“%d”,a[i++][1+i]);
a是8行*8列的二维数组,有64个数值, 只初始化了前面20个值,后面的默认为0, 如
0列 1列 2列 3列 4列 5列 6列 7列
0行: 20 ,30 ,32 ,50 ,52 ,68 ,52 ,88
1行: 72 ,78 ,61 ,89 , 1 , 4,101 ,24
2行: 11 ,14 ,97 ,83 , 0 , 0 , 0 , 0
3行: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
4行: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
5行: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
6行: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
7行: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
i++ 是先返回i原本的值, 再对i加1
循环初始i=0;
第一次循环输出a[i++][1+i] 先i++返回 0 作为行下标,之后i加1变成 1 ,再用1+i=2作为列下标, 输出0行2列的值 32
每次循环之后还要i++ i加1变成2 ,循环条件i<6成立,继续循环
第二次循环输出a[i++][1+i] 先i++返回 2 作为行下标,之后i加1变成 3 ,再用1+i=4作为列下标, 输出2行4列的值 0
循环之后还要i++ i加1变成4 ,循环条件i<6成立,继续循环
第三次循环输出a[i++][1+i] 先i++返回 4 作为行下标,之后i加1变成 5 ,再用1+i=6作为列下标, 输出4行6列的值 0
循环之后还要i++ i加1变成6 ,循环条件i<6不成立,结束循环
最终输出 3200
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!