这两个代码有区别吗??

ouyang517971287 2012-04-03 03:07:47

if(GA[i][j]==0)
GA[i][j]=k;
k++;

if(a[j][i] == 0)
a[j][i] = m++;由区别吗
...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
summer_insects 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

有,前者在条件成立和不成立时k++都会执行.
后者只有在条件成立时m++会执行.
[/Quote]
+10086
ouyang517971287 2012-04-03
  • 打赏
  • 举报
回复
void Fun(int n)
{
int m = 1,j,i=0;
for(i = 0; i < n/2; i++)
{
for(j = i; j < n-2*i; j++)
{
if(a[i][j] == 0)
a[i][j] = m++;
}

for(j=j-1; j>=i;j--)
{
if(a[n-1-j-i][j] == 0)
a[n-1-j-i][j] = m++;
}

for(j = n-i-1; j > i; j--)
{
if(a[j][i] == 0)
a[j][i] = m++;
}

}

}

void Fun(int n)
{
int m = 1,j,i=0;
for(i = 0; i < n/2; i++)
{
for(j = i; j < n-2*i; j++)
{
if(a[i][j] == 0)
a[i][j] = m;
m++;
}

for(j=j-1; j>=i;j--)
{
if(a[n-1-j-i][j] == 0)
a[n-1-j-i][j] = m;
m++;
}

for(j = n-i-1; j > i; j--)
{
if(a[j][i] == 0)
a[j][i] = m;
m++;
}

}

}运行结果是不一样的
这是主函数请大家帮帮忙运行看看
void main()
{
int n, i, j;
cin>>n;
for( i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
a[i][j] = 0;
}
Fun(n);
for(i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(a[i][j])
cout <<setw(3)<< a[i][j] << " ";
}
cout <<endl;
}
}
yinyinehnzuotong 2012-04-03
  • 打赏
  • 举报
回复
如果if语句为真时一样,如果if语句为假,第一个执行k++,第二个不执行。
muyi66 2012-04-03
  • 打赏
  • 举报
回复
唔,没注意到第一个总会增量k
hen_hao_ji 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
有,前者在条件成立和不成立时k++都会执行.
后者只有在条件成立时m++会执行.
[/Quote]
++
muyi66 2012-04-03
  • 打赏
  • 举报
回复
如果你不是故意写错了i和j的顺序的话,就那个单元被赋的值和赋值后给它们值的变量被增量这两个行为来说,两段代码都是同样的作用。
iamnobody 2012-04-03
  • 打赏
  • 举报
回复
有,前者在条件成立和不成立时k++都会执行.
后者只有在条件成立时m++会执行.

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧