黑马程序员技术交流社区

标题: C第一天,一道简单的基础题 [打印本页]

作者: normalwzh    时间: 2015-11-9 22:19
标题: C第一天,一道简单的基础题
1、 下面代码打印结果是__________(需要写上分析思路)
#include <stdio.h>
int main(int argc, const char * argv[])
{
    int b;
    int a = 5;
    b = (++a) + (a++);
   
    printf("b=%d, a=%d\n", b, a);
    return 0;
}

答案是b = 12,a = 7
第一个++a的时候,++a 等于6 ,同时a加一等于6.
第二个a++是把a的值复制给a++所以a++等于6 ,但是此时a要加一等于7
所以b = 6+6=12  ,a = 7;


作者: wkop    时间: 2015-11-11 21:49
请问楼主 b=(++a) + (a++); 去掉括号后答案有区别吗?
作者: knight_zfh1288    时间: 2015-11-11 23:04
呵呵,这是黑马入学考试基础测试的其中一道题
作者: cube川    时间: 2015-11-13 19:06
没啥难度= =
作者: 1170191405    时间: 2015-11-13 22:01
可以可以
作者: zhuanshu1458    时间: 2015-11-13 22:06
终于攒够BBBBBBB
作者: 江流石不动    时间: 2015-11-13 22:18
为了黑马B我也是拼了
作者: poxiao    时间: 2015-11-14 16:07
个人觉得这题本来想考察a++和++a的区别,但是这题没体现出来差别
作者: mr.late    时间: 2015-11-14 17:04
额.看来我得回去看第二天的内容了
作者: cbl16888    时间: 2015-11-15 07:58
学习中,支持一个
作者: ytsunqiang    时间: 2015-11-15 08:39
学习了了
作者: normalwzh    时间: 2015-11-15 11:12
谢谢大家




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2