if(i>2) i=3-i;s+=b[i][j];含义

问题描述:

if(i>2) i=3-i;s+=b[i][j];含义
没有else s+=b[i][j];算不算iif语句里的呢?
#include"stdio.h"
int f(int b[][4])
{int i,j,s=0;
for(j=0;j2) i=3-i;
s+=b[i][j];
}
return s;
}
main()
{
int a[4][4]={{1,2,3,4},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
1个回答 分类: 综合 2014-10-04

问题解答:

我来补答
s+=b[i][j];不算iif语句里的!首先
if(i>2)
i=3-i;
else
s+=b[i][j];
是在你判断i>2成立的情况下执行i=3-i,执行完后跳出第一个判断语句;如果不成立才会执行s+=b[i][j];执行完后跳出第二个判断语句;
而程序
if(i>2)
i=3-i;
s+=b[i][j];
是在i>2的情况下执行 i=3-i;后还会执行 s+=b[i][j];而对于else语句不进行判断!
相当于:
if(i>2)
{
i=3-i;
}
else
{
} 空语句,没有作用
s+=b[i][j];
展开全文阅读