自增操作符(华为面试)
来源:互联网 发布:算法总结 编辑:程序博客网 时间:2024/06/05 10:46
华为c/c++面试题及答案
1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
a = ?
答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;
改后答案依次为9,10,10,11
这个题我在vc 中运行了,结果都正确。
开始真的很不明白是怎么回事,看似简单,在最初学习c的时候就学这个东西,没想到现在做照样还是错。
现在终于弄明白了,分析一下:
如一: a+=(a++)
分析:等号右面先进性计算,由于++ 在a 后面,所以先赋值,a=4,加法赋值后为a=8 然后在自增 a=9;
这个较简单
如四: (++a)+=(a++)
分析(1) 先计算右边,a=4 赋值。
(2) 计算左边,此时a自增 a=5.
(3) 此时a=5,然后计算 加法赋值。由于是两个a相加,a=5,所以相加结果a=10.
(4) 加法赋值之后,等式右边还有一个自增没计算,计算后为 a=11.完毕。
- 自增操作符(华为面试)
- 华为面试(一)
- C++(28)自增/自减操作符
- 自增和自减操作符
- 自增(++)和自减(--)操作符
- 关于自增自减操作符
- 自增自减操作符
- 华为面试记(2011)
- 面试华为
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 华为面试
- 3G传输网络技术及建网策略
- OracleERP表结构-INV模块
- dfg
- QQ空间的几张图
- 深入体验JAVA Web开发内幕——核心基础
- 自增操作符(华为面试)
- 在.NET去掉文件的只读属性
- 表哥again ——假期拾遗之一
- 张靓颖代言精油护肤产品家美乐(嘉媚乐)新造型成都开唱
- 几种C/C++的函数压栈方式
- 系统环境变量作用
- c语言关键字Volatile的使用
- 国外的黑客游戏站
- MSMQ的简单应用