2 qq 34925885 qq_34925885 于 2016.05.11 13:07 提问

C++基础问题,求大神赐教!

在看函数与预处理一章中有一程序;
程序部分如下;
static int a=1;
n=3;
n+=a++ ;
return n;
n+=a++,什么意思,第二次调用函数时a是2吗?

6个回答

baoyihu
baoyihu   2016.05.11 13:17
已采纳

这么基础的问题,;
a++;是计算后赋值,
所以 n+=a++ ;等同于
n+=a;
a++;
我建议你这么写比较好,那种在一行里进行多次计算的写法,早就不流行了.
主要是阅读困难,容易造成理解障碍,程序员的时间是很宝贵的,至少比机器运行的1纳秒要宝贵.

caozhy
caozhy   Ds   Rxr 2016.05.11 13:13

n+=a++,+=的优先级高
所以是
n = n + (a++)
而a++表达式的值是a,后++
所以n = n + a
a = a + 1
明白了么?

qq423399099
qq423399099   Ds   Rxr 2016.05.11 13:18

先要搞清楚运算符的优先级,+=的优先级是要比++低的
但由于是后++,是将之前的值参与计算,然后才自加1
n+=a++ ;相当于先执行n = n + a;然后a自加1
运算符优先级参考:http://blog.csdn.net/nicky_zs/article/details/4053146

yy611653
yy611653   2016.05.11 13:24

这个老师的课件应该会详解n+=a++就是先把a加到n里然后a再自增

ZGZ1002
ZGZ1002   2016.05.11 13:41

n+=a++ 等价于 n=n+a; a++;

herozhangbz
herozhangbz   2016.05.11 13:11

等价于n=n+a;
a=a+1;
运行后n=4;a=2.a++是先计算后赋值的,也就是计算式内的a还是原来的值,计算后a执行++

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言版flappy bird
大神的C语言版flappy bird,可以随意修改,欢迎赐教讨论
矩阵转置问题 运行出问题了 求大神赐教
#include int main() { int a[2][3]; int b[3][2],i,j; for(i=0;i { for(j=0;j { scanf("%d",a[i][j]); b[j][i]=a[i][j]; } } for(i=0;i { for(j=0;j { printf("%d ",b[i][j]); printf("\n");  
ubuntu 乱码 求大神赐教
windows下的东东在ubuntu下打开以后乱码,百度之后解决方案是: 1.打开终端,在其中输入命令: gconf-editor 并回车。 2. 在新开的窗口里,在左边依次展开“apps”、“gedit-2”、“preferences”、“encodings”。 3. 在右边的窗口里,双击“auto_detected”。 4. 在弹出的对话框里,单
用微信 远程遥控 服务器
摘要 环境搭建 开启配置 服务器环境 核心类 验证 回复 拓展 添加机器人 命令模式 完整代码 总结摘要微信公众好的开发很火,小程序更火。于是也凑个热闹,尝试了一把。大致的功能还是有的,不过是不全,很多地方我没有进行处理。不过对于纯文本方式的交流,已经没有问题啦。 环境搭建下面大致的讲讲微信公众号的原理吧。可能我理解的有些不到位,如果有些许不当,欢迎批评指教。 客户端发送给微信平台请求,微信平
小码哥腾讯课堂基础班+大神班视频30G
本资源包含基础班和大神班(付费)有笔记和视频中的代码,超清视频可以下载后离线观看,无需密码。适合小白入手
MySQL---数据库从入门走向大神系列(一)-基础入门
从最开始的创建数据库,创建表,创建列开始写起,再到常用的EXISTS函数,SELECT 复杂查询,模糊查询LIKE,创建视图 等深入学习。 为了对单词加深印象,全部在DOS下演示! 创建数据库、表 create database hncu character set utf8; 创建名为hncu编码为utf-8的数据库。 use hncu;  打开hncu这个数据库。(必须
易语言钓鱼源码
求大神买走 求大神买走 易语言钓鱼源码
如何处理工作中同事的吝于赐教?
在IT工作的5年开发工作中,我还是第一次碰到我求助别人,可是别人却对你吝于赐教。真受不了。我以前是做代码开发的,我的同事和我一样,对别人的求助都是耐心指导。可是现在我开始做测试,我发现我向某几个人请教问题时,却发现他们要么不回答你,要么对你进行敷衍,好像害怕别人懂得比他多似的。 开发和测试有这么大区别么?大家有遇到类似情况么?我觉得只有在某些国企才有可能遇到这种情况,在那里做事
neuq oj 1010 阶乘数列 C语言
阶乘数列 题目描述 求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。 代码 #include int main() { float sum=0,mul=1; for(int i=1;i<=30;i++) { mul=mul*i; sum=sum+mul; } printf("%.2e\n",sum); return 0; }体会: 科学计数法
excel中大神级别的操作技巧,每一个都是绝世操作,厉不厉害!
我们在上班的时候接触的大多数都是Word以及excel之类的文件,解决这些文件往往需要我们花费太多的时间,但是我们却又避免不了,那么我们该如何提高工作效率,快速将这些文件进行解决呢?小编今天有和大家分享一些操作经验,相比昨天的而言,这些技巧还是让我们感到元气满满哦! 一.重复上一步的操作 我们在工作的时候会发现重复上一步的操作会经常遇到,但是我们在许多时候都不知道如何去操作,甚至好多人都不知道