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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 每天进步一点点 中级黑马   /  2014-6-12 22:38  /  707 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 每天进步一点点 于 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相加????说不通啊

3 个回复

倒序浏览
你貌似还没不知道++a 与 a++的区别啊
这两个表达式的值就不相等
++a + 1 的值等于5 用a自加后的值进行运算
a++ + 1 的值等于4 用a没自加的值进行运算
建议回头看看视频加强理解
回复 使用道具 举报
黄莉萍 发表于 2014-6-12 23:25
你貌似还没不知道++a 与 a++的区别啊
这两个表达式的值就不相等
++a + 1 的值等于5 用a自加后的值进行运算 ...

对对对,看一天看蒙了,自己搞混了
回复 使用道具 举报
每天进步一点点 发表于 2014-6-13 10:23
对对对,看一天看蒙了,自己搞混了

呵呵。。我也会这样,慢慢理解,理解透了就知道了,加油!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马