【答疑释惑】遇到多个前置++运算符怎么办?

昨天问题的答案:

i += (++i)+(++i)+(++i)

相当于 i = i + (++i)+(++i)+(++i);

前置++操作符,先+1后再相加,最后i应该等于4*(i+3)

问题一:

int x=3,y;

y=(++x)+(++x);

输出:

y=?

这是怎么算的,有点混乱了,谁能说下,谢谢!

解答:

首先提出一个问题,如果改成y=(x++)+(x++); 结果会是什么?请大家可以自己试验。

1.首先要弄清前置++和后置++的区别。

在C++表达式中 ++x 表示先将x自加1再带入计算;

x++ 表示先将x带入计算再自加1。

2.第二个问题是操作符的优先级问题:=、++、+

详情请看C++的运算符优先级:http://www.coderonline.net/?p=982

这里只列出上面三个运算符的优先级顺序:

++ 高于 + 高于 =,所以计算应该从++开始,最后到赋值。

首先明确x=3,这是原始值。先计算两个++x,然后计算+,最后赋值=

第一个++x之后,x=4;第二个++x之后,x=5;计算完++x之后,两个x相加赋值给y。

大家自己动手试一下吧。

问题二:

c++编译器给出的错误提示太长了,请问如何清晰看出哪里错了?

这个问题太广泛了,没有说明是那个编译器,也没有说是那个平台。我只说说自己的一些比较通用的方法:

1.如果能拷贝出来最好,拷贝到文本中查找起来更方便;

2.如果能搜索也挺好的,直接搜索error,一般出错都会有这个关键字;

3.双击出错信息,有的编译器双击某一行可以直接弹出包含此行信息的窗口的;

4.有的编译器可以设置打印编译结果到文件,在文件查找错误很方便了吧。

以后如果遇到类似的问题再总结,希望能帮到大家。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏calmound

Single Number II

问题:找出只出现一次的数,其他数出现了三次 分析:将数转化为二进制的位,数出现了三次相当于其对应的二进制上每个位置出现了3次,这里有个抽象的地方就是,例如数中包...

2795
来自专栏架构之路

C++的extern关键字知识点

转载自http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 感觉写的比百毒上搜...

3034
来自专栏desperate633

深度解析Java多线程的内存模型内部java内存模型硬件层面的内存模型Java内存模型和硬件内存模型的联系小结

Java内存模型很好的说明了JVM是如何在内存里工作的,JVM可以理解为java执行的一个操作系统,作为一个操作系统就有内存模型,这就是我们常说的JAVA内存模...

551
来自专栏企鹅号快讯

Go 系列教程——8.if-else 语句

这是我们 Golang 系列教程的第 8 篇。 if 是条件语句。if 语句的语法是 如果 为真,则执行 和 之间的代码。 不同于其他语言,例如 C 语言...

18910
来自专栏debugeeker的专栏

《coredump问题原理探究》Linux x86版3.8节栈布局之栈溢出coredump例子

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

852
来自专栏开源优测

JMeter函数和变量11

前言 在jmeter中提供了功能强大的内置函数来帮助我们处理字符串、文件读写、计算、运行外部脚本等等能力。 要想在项目中切实运用来jmeter完成复杂的压测场景...

3716
来自专栏Java技术

Redis常见的5种不同的数据类型详解

Redis除了可以存储键还可以存储常见的5种数据类型,分别是:String、List、Set、Hash、ZSet。对于Redis的命令有一部分是可以公用的,但是...

761
来自专栏Golang语言社区

golang的内存模型与new()与make()

要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|dat...

2916
来自专栏King_3的技术专栏

leetcode-811-Subdomain Visit Count

37311
来自专栏用户2442861的专栏

STL源码剖析-set容器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1263

扫码关注云+社区