当前位置: 代码迷 >> C语言 >> 为什么这样错了,c的问题
  详细解决方案

为什么这样错了,c的问题

热度:96   发布时间:2006-05-02 19:02:00.0
为什么这样错了,c的问题


#include <stdio.h>
void main()
{int a[3][3],i,j;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
if((i+j)%2)
printf("%5d",a[i][j]);
printf("\n");
}
}
我是指输出为什么是2468
if((i+j)%2)
不是在i+j是偶数的时候不输出吗??
偶数的时候为0,0不就是假吗??%这个是除余啊??

搜索更多相关的解决方案: include  

----------------解决方案--------------------------------------------------------
我认为是输入13579啊
----------------解决方案--------------------------------------------------------
想清楚再问不迟
----------------解决方案--------------------------------------------------------
已经想了2个小时了,不然我也不会发帖问
----------------解决方案--------------------------------------------------------
你直接告诉我下标错了不就可以拉,在初学的时候难免会有一些错误
----------------解决方案--------------------------------------------------------
初学没关系..你按照程序的思路走一遍

拿数来实验下..自然就会明朗的

自己发现问题.自己解决..印象才深刻!

----------------解决方案--------------------------------------------------------
..........我怎么看不明白你的意思。.
----------------解决方案--------------------------------------------------------

for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);


和你输入有关系,看你输入什么了,你输入1万可能输出1万,你没输入怎么可能输出正确的值,那输出的都是原来内存中的垃圾值


----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <conio.h>

int main()
{
int a[3][3], i, j, ival = 1;

for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
a[i][j] = ival++;
}
}

for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
if((i + j) % 2 == 0)
{
printf("%5d",a[i][j]);
}
}
}
printf("\n");

getch();
return 0;
}
楼主大哥,我就不相信在你电脑上你的程序结构也是这样的

[此贴子已经被作者于2006-5-2 20:56:22编辑过]


----------------解决方案--------------------------------------------------------

a[0][0]=1,a[0][1]=2,所以输出2!


----------------解决方案--------------------------------------------------------
  相关解决方案