
C语言问题,帮下忙
inti,j;inta[4]={1,2,3,4};for(i=0;i<4;i++)for(j=0;j<i;j++)a[i]=a[j]-a[i];for(i=0;i<4;i...
int i,j; int a[4]={1,2,3,4}; for(i=0;i<4;i++) for(j=0;j<i;j++) a[i]=a[j]-a[i]; for(i=0;i<4;i++) printf("%d",a[i]) 求这个代码的结果,附加简单分析过程。(代码省略了一部分头尾)
展开
展开全部
屏幕上输出的结果显示是1-11-1。(这里是1,-1,1,-1这4个数字)
分析:
第一次循环后:a[i]=2;a[j]=1;i=1;j=0。
第二次循环后:a[i]=-1;a[j]=-1;i=1;j=1。
第三次循环后:a[i]=3;a[j]=1;i=2;j=0。
第四次循环后:a[i]=-2;a[j]=-1;i=2;j=1。
第五次循环后:a[i]=1;a[j]=1;i=2;j=2。
第六次循环后:a[i]=4;a[j]=1;i=3;j=0。
第七次循环后:a[i]=-3;a[j]=-1;i=3;j=1。
第八次循环后:a[i]=2;a[j]=1;i=3;j=2。
第九次循环后:a[i]=-1;a[j]=-1;i=3;j=3。
最后一次循环后跳出循环后的值:a[i]=3;a[j]=-1;i=4;j=3。
后面的输出循环:
第一次:a[i]=1;i=0;
第二次:a[i]=-1;i=1;
第三次:a[i]=1;i=2;
第四次:a[i]=-1;i=3;
第五次:a[i];i=4;(此时i=4跳出循环,不进行输出)
(此时a[0]=1;a[1]=-1;a[2]=1;a[3]=-1)
所以输出结果是1-11-1.
/*以上均是由VC 6.0 的断点调试得出的值。仅供参考。如有不足,请指出!*/
分析:
第一次循环后:a[i]=2;a[j]=1;i=1;j=0。
第二次循环后:a[i]=-1;a[j]=-1;i=1;j=1。
第三次循环后:a[i]=3;a[j]=1;i=2;j=0。
第四次循环后:a[i]=-2;a[j]=-1;i=2;j=1。
第五次循环后:a[i]=1;a[j]=1;i=2;j=2。
第六次循环后:a[i]=4;a[j]=1;i=3;j=0。
第七次循环后:a[i]=-3;a[j]=-1;i=3;j=1。
第八次循环后:a[i]=2;a[j]=1;i=3;j=2。
第九次循环后:a[i]=-1;a[j]=-1;i=3;j=3。
最后一次循环后跳出循环后的值:a[i]=3;a[j]=-1;i=4;j=3。
后面的输出循环:
第一次:a[i]=1;i=0;
第二次:a[i]=-1;i=1;
第三次:a[i]=1;i=2;
第四次:a[i]=-1;i=3;
第五次:a[i];i=4;(此时i=4跳出循环,不进行输出)
(此时a[0]=1;a[1]=-1;a[2]=1;a[3]=-1)
所以输出结果是1-11-1.
/*以上均是由VC 6.0 的断点调试得出的值。仅供参考。如有不足,请指出!*/
展开全部
屏幕上输出的结果显示是1-11-1。(这里是1,-1,1,-1这4个数字)
分析:
第一次循环后:a[i]=2;a[j]=1;i=1;j=0。
第二次循环后:a[i]=-1;a[j]=-1;i=1;j=1。
第三次循环后:a[i]=3;a[j]=1;i=2;j=0。
第四次循环后:a[i]=-2;a[j]=-1;i=2;j=1。
第五次循环后:a[i]=1;a[j]=1;i=2;j=2。
第六次循环后:a[i]=4;a[j]=1;i=3;j=0。
第七次循环后:a[i]=-3;a[j]=-1;i=3;j=1。
第八次循环后:a[i]=2;a[j]=1;i=3;j=2。
第九次循环后:a[i]=-1;a[j]=-1;i=3;j=3。
最后一次循环后跳出循环后的值:a[i]=3;a[j]=-1;i=4;j=3。
后面的输出循环:
第一次:a[i]=1;i=0;
第二次:a[i]=-1;i=1;
第三次:a[i]=1;i=2;
第四次:a[i]=-1;i=3;
第五次:a[i];i=4;(此时i=4跳出循环,不进行输出)
(此时a[0]=1;a[1]=-1;a[2]=1;a[3]=-1)
所以输出结果是1-11-1.
/*以上均是由VC 6.0 的断点调试得出的值。仅供参考。如有不足,请指出!*/0| 评论
向TA求助回答者: Li
分析:
第一次循环后:a[i]=2;a[j]=1;i=1;j=0。
第二次循环后:a[i]=-1;a[j]=-1;i=1;j=1。
第三次循环后:a[i]=3;a[j]=1;i=2;j=0。
第四次循环后:a[i]=-2;a[j]=-1;i=2;j=1。
第五次循环后:a[i]=1;a[j]=1;i=2;j=2。
第六次循环后:a[i]=4;a[j]=1;i=3;j=0。
第七次循环后:a[i]=-3;a[j]=-1;i=3;j=1。
第八次循环后:a[i]=2;a[j]=1;i=3;j=2。
第九次循环后:a[i]=-1;a[j]=-1;i=3;j=3。
最后一次循环后跳出循环后的值:a[i]=3;a[j]=-1;i=4;j=3。
后面的输出循环:
第一次:a[i]=1;i=0;
第二次:a[i]=-1;i=1;
第三次:a[i]=1;i=2;
第四次:a[i]=-1;i=3;
第五次:a[i];i=4;(此时i=4跳出循环,不进行输出)
(此时a[0]=1;a[1]=-1;a[2]=1;a[3]=-1)
所以输出结果是1-11-1.
/*以上均是由VC 6.0 的断点调试得出的值。仅供参考。如有不足,请指出!*/0| 评论
向TA求助回答者: Li
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-19
展开全部
结果:
1-11-1
1-11-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询