A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fangdanjames 中级黑马   /  2014-11-26 00:48  /  1009 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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);
}

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

4 个回复

倒序浏览
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

评分

参与人数 1黑马币 +2 收起 理由
星河鹭起 + 2

查看全部评分

回复 使用道具 举报
sum = pingnian[1] + runnian[1];
回复 使用道具 举报
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值覆盖掉了
回复 使用道具 举报
楼主数组定义的名字我想半天不知道啥意思,结果一楼说的很清楚了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马