c语言大神进 数组问题

#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i=0,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;... #includemain(){ int b[3] [3]={0,1,2,0,1,2,0,1,2},i=0,j,t=1; for(i=0; i<3; i++) for(j=i;j<=i;j++) t+=b[i][b[j][i]]; //i=0 j=0 t=t+b[0] [b[0][0]=0] t=1 //i=1 j=1 t=t+b[1] [b[1][1]=0] t=2 +1? 值不应该是2+1吗 //i=2 j=2 t=t+b[2] [b[2][2]=2] t=3+2 ?值不应该是2+1吗printf("%d\n",t);return 0; }为什么最后输出结果是4
原题目为
• #include<stdio.h>

• main()

•{ int b[3] [3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

• for(i=0; i<3; i++)

•for(j=i;j<=i;j++) t+=b[i][b[j][i]];

•Printf("%d\n",t);

•}

为什么最后运行结果为4
展开
 我来答
唯龙独尊1
2014-10-23 · TA获得超过292个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:108万
展开全部
#include <stdio.h>
main()
{ int b[3] [3]={0,1,2,0,1,2,0,1,2},i=0,j,t=1;
for(i=0; i<3; i++)
for(j=i;j<=i;j++)
t+=b[i][b[j][i]];
//i=0 j=0 t=t+b[0] [b[0][0]=0] t=1 b[0][0]=0
//i=1 j=1 t=t+b[1] [b[1][1]=1] t=1+1 值不应该是1+1 b[1][1]=1
//i=2 j=2 t=t+b[2] [b[2][2]=2] t=1+1+2 值不应该是2+2 b[2][2]=2
printf("%d\n",t);
return 0;
}//最后输出结果是4

你把数组的下标搞错了
b[0][0]=0
b[1][1]=1
b[2][2]=2
b[3] [3]={
{0,1,2},
{0,1,2},
{0,1,2}
}
这样看明白么!
望你采纳!
追问
原题目•  #include

• main()

•{ int b[3] [3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

• for(i=0; i<3; i++)

•for(j=i;j<=i;j++) t+=b[i][b[j][i]];

•Printf("%d\n",t);

•}
能详细解释一下吗
追答
我来详细给你解释一下:
当i=0 j=0 :
t=t+b[0] [b[0][0]] 由于b[0][0]=0 所以t=1 。 当i=1 j=1 :
t=t+b[1] [b[1][1]] 由于 b[1][1]=1 所以t=1+1 =2
当i=2 j=2 :
t=t+b[2] [b[2][2]] 由于b[2][2]=2 所以 t=2+2=4;

这下应该明白了吧!
采纳吧!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haiyangfenghuo
2014-10-23 · TA获得超过2439个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:803万
展开全部
#include"stdio.h"
int main()
{ int b[3][3]={0,1,2,0,1,2,0,1,2},i=0,j,t=1;
for(i=0; i<3; i++)
for(j=0;j<=i;j++)
t+=b[i][b[j][i]];
//i=0 j=0 t=t+b[0] [b[0][0]=0] t=1
//i=1 j=1 t=t+b[1] [b[1][1]=0] t=2 +1? 值不应该是2+1吗
//i=2 j=2 t=t+b[2] [b[2][2]=2] t=3+2 ?值不应该是2+1吗
printf("%d\n",t);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月下忆娇娘
2014-10-23 · TA获得超过326个赞
知道小有建树答主
回答量:442
采纳率:100%
帮助的人:354万
展开全部
格式太乱。不知道到底注释了啥
追问
原题•  #include

• main()

•{ int b[3] [3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

• for(i=0; i<3; i++)

•for(j=i;j<=i;j++) t+=b[i][b[j][i]];

•Printf("%d\n",t);

•}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式