黑马程序员技术交流社区
标题:
当b=1时,这段代码的结果为何为5啊
[打印本页]
作者:
fangdanjames
时间:
2014-11-26 00:48
标题:
当b=1时,这段代码的结果为何为5啊
#include <stdio.h>
int main()
{
int pingnian[]={1,2,3};
int runnian[]={1,3,5};
int b=0;
scanf("%d",&b);
int sum = 0;
for (int i=0;i<2;i++)
{
if (b==1)
{
sum=pingnian[i];
}
sum+=runnian[i];
}
printf("%d\n",sum);
}
作者:
joykerl
时间:
2014-11-26 01:57
1,当b==1时,程序进入:sum = pingnian[i] 结果为 1
2,.跳出if语句,sum = 1 + reunion[0] 即 sum = 1 + 1 第一循环的结果为2
3,进入i = 1的循环,sum = sum + reunion[i] 此时sum的值是2,i的值是1,就是reunion[1] = 3 即:sum = 2 + 3
4,最终结果为5
作者:
caozhichao
时间:
2014-11-26 02:31
sum = pingnian[1] + runnian[1];
作者:
HM_lpn
时间:
2014-11-26 08:51
for循环,共有两轮循环。在第一轮循环中,由于b==1值为真,所以,sum=pingnian[0]=1;接着执行sum=sum+runnian[0]=1+1=2;(其中,等号右边的sum是sum=pingnian[0]=1);在第二轮循环中,由于b==1为真,sum=pingnian[1]=2;接着执行sum=sum+runnian[1]=2+3=5;(其中,等号右边的sum是sum=pingnian[1]=2);第一轮的sum值已被第二轮所得的新sum值覆盖掉了
作者:
云无心ii
时间:
2014-11-26 13:12
楼主数组定义的名字我想半天不知道啥意思,结果一楼说的很清楚了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2