黑马程序员技术交流社区

标题: 运算符 [打印本页]

作者: 每天进步一点点    时间: 2014-6-12 22:38
标题: 运算符
本帖最后由 每天进步一点点 于 2014-6-13 10:23 编辑

#include <stdio.h>
int main()
{
       int a=3;
       if(++a+1==5){printf("好!\n");}
       else printf("怎么回事?");
}



如果把表达式换成a+++1==5,结果不一样,,,,,难道不是++a或者a++表达式与1相加吗?它们两个表达式的值是相等的啊,莫非是a与1相加????说不通啊
作者: 黄莉萍    时间: 2014-6-12 23:25
你貌似还没不知道++a 与 a++的区别啊
这两个表达式的值就不相等
++a + 1 的值等于5 用a自加后的值进行运算
a++ + 1 的值等于4 用a没自加的值进行运算
建议回头看看视频加强理解
作者: 每天进步一点点    时间: 2014-6-13 10:23
黄莉萍 发表于 2014-6-12 23:25
你貌似还没不知道++a 与 a++的区别啊
这两个表达式的值就不相等
++a + 1 的值等于5 用a自加后的值进行运算 ...

对对对,看一天看蒙了,自己搞混了
作者: 黄莉萍    时间: 2014-6-13 23:46
每天进步一点点 发表于 2014-6-13 10:23
对对对,看一天看蒙了,自己搞混了

呵呵。。我也会这样,慢慢理解,理解透了就知道了,加油!




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