dnf最强首饰散件搭配:帮帮我说一下有关c语言中 for的这个区别

来源:百度文库 编辑:高考问答 时间:2024/04/27 18:23:00
main()
{
int a[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[i][j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{for(j=1;j<6;j++)
printf("%2d",a[i][j]);
}
}
请问输出后为什么是
10000
01000
00100
00010
00001
而不是
11111
11111
11111
11111
11111
另外我想问下 如果有这个句子
for(i=0;i<2;i++)
{for(j=0;j<2;j++)
printf("%d",a[i][j]);}
和这个句子
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",a[i][j])
就是后者比前者少了一对{}有没有什么区别

for是循环语句
for(循环变量赋初值;循环条件;循环变量增值)语句
i=1
j=1
a[1][1]=[1/1]*[1/1]
a[1][1]=1
j=2
a[1][2]=[1/2]*[2/1]
a[1][2]=0
j=3
.
.
.
.
j=5
.
.
.
.
i=2
直到i=5;j=5是结束
没有区别,但是for里只能包含1条语句如果多了就加{}

下标从零开始啊

这个问题很严重,请马上与我们老师(谭浩强)取得联系。

因为i/j的原因,1/2等于0,以此类推,你就明白了,OK?

当j>1时,0<i/j<1,由于是整型变量i/j的值变为0

没有区别,但是多个括号不容易出错

我怎么觉得你是在“/”不明白。
“/”是相除取整,“%”是相除取余……