首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

看一上这两个代码,小弟我觉得没啥区别啊结果却不一样。

2012-11-10 
看一下这两个代码,我觉得没啥区别啊,结果却不一样。。。[codeC/C++][/code]#include stdio.hint main(){ i

看一下这两个代码,我觉得没啥区别啊,结果却不一样。。。
[code=C/C++][/code]#include <stdio.h>
int main()
{ int a[5][5]={ {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3} };
 int n,i,j;
 for (i=0;i<5;i++)
 { for (n=0;n<=i;n++)
a[i][n]=0; }
 for (i=0;i<5;i++)
 for (j=0;j<5;j++)
 {if (j%5==0)
printf("\n");
printf("%d ",a[i][j]);}
 printf("\n");
// getchar();
 return 0;  
}

[code=C/C++][/code]#include <stdio.h>
int main()
{ int a[5][5]={ {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3},
  {3,3,3,3,3} };
 int n,i,j;
 for (i=0;i<5;i++)
 { for (n=0;n<=i;n++)
a[i][n]=0; }
 for (i=0;i<5;i++)
 for (j=0;j<5;j++)
 {if ((j+1)%5==0) //只有这里改了
printf("\n");
printf("%d ",a[i][j]);}
 printf("\n");
// getchar();
 return 0;  
}

[解决办法]
额。。。。以我愚见,这个if (j%5==0)是为了没输出5个数后就换行,而这个if ((j+1)%5==0)是没四个数就换一次,两个程序应该都是输出0的,因为没有运行程序,只是看代码而已,有错请指出
[解决办法]
if (j%5==0) j=5时,条件为真

if ((j+1)%5==0) j=4时,条件为真
[解决办法]

C/C++ code
#include <stdio.h>int main(){    int a[5][5]={ {3,3,3,3,3},                {3,3,3,3,3},                {3,3,3,3,3},                {3,3,3,3,3},                {3,3,3,3,3} };    int n,i,j;    for (i=0;i<5;i++)    {        for (n=0;n<=i;n++)            a[i][n]=0;    }    for (i=0;i<5;i++)    {        for (j=0;j<5;j++)        {            printf("%d ",a[i][j]);            if ((j+1)%5==0) //只有这里改了                printf("\n");        }    }    printf("\n");    // getchar();    return 0;   } 

热点排行