社区
C语言
帖子详情
a=3;关于b=(++a)+(++a)+(++a),vc运行为什么b=16??
qq_34111136
2016-03-12 01:04:16
如题目。为什么是这样的啊
...全文
396
12
打赏
收藏
a=3;关于b=(++a)+(++a)+(++a),vc运行为什么b=16??
如题目。为什么是这样的啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lin5161678
2016-04-12
打赏
举报
回复
引用 11 楼 FrankHB1989 的回复:
为什么这里的人问这种智障题目会这么熟练啊……
我倒觉得 这里的人 回答这种问题 这么熟练 也是挺赏心悦目的 哈哈哈
FrankHB1989
2016-04-12
打赏
举报
回复
为什么这里的人问这种智障题目会这么熟练啊……
szn_409
2016-04-09
打赏
举报
回复
未定义行为,请不要使用
qq_33887686
2016-03-14
打赏
举报
回复
这条语句是未定义的语句,c++标准中没有这样的语句,简单的说这是个错误的语句。
galiniur0u
2016-03-14
打赏
举报
回复
又有人问这种问题....前几天刚有个人问完。完全没有结果的事总经常有人喜欢讨论。
老许要老婆么
2016-03-14
打赏
举报
回复
介个东西吧!IDE不同 操作系统不同都能算出不一样的结果
赵4老师
2016-03-14
打赏
举报
回复
关于C,C++表达式求值顺序
http://blog.csdn.net/fefe82/article/details/37833767
,
http://bbs.csdn.net/topics/370153775
WarnRay
2016-03-13
打赏
举报
回复
好像C/C++对这个没有明确规定,结果应该不确定,与编译器有关
pujitan978
2016-03-13
打赏
举报
回复
这是未定义行为,结果完全取决于编绎器。别人也问过了。要么把三个操作数都算出来,再计算和;要么先计算前两个操作数,计算其和,再计算第三个操作数。
apple_v1
2016-03-12
打赏
举报
回复
这是未定义行为,结果完全取决于编绎器。别人也问过了。要么把三个操作数都算出来,再计算和;要么先计算前两个操作数,计算其和,再计算第三个操作数。
paschen
2016-03-12
打赏
举报
回复
这种行为不确定 关于C,C++表达式求值顺序
http://bbs.csdn.net/topics/370153775
relaxisland
2016-03-12
打赏
举报
回复
这种题目没啥意思,各个编译器实现不一样,可能结果不一样。 具体看下面这个帖子, 写的很好 http://bbs.csdn.net/topics/370153775 我的编译器vs2012 结果是18 他生成的汇编代码 mov eax, DWORD PTR _a$[ebp] add eax, 1 mov DWORD PTR _a$[ebp], eax mov ecx, DWORD PTR _a$[ebp] add ecx, 1 mov DWORD PTR _a$[ebp], ecx mov edx, DWORD PTR _a$[ebp] add edx, 1 mov DWORD PTR _a$[ebp], edx ----------------------------------------------------------------》 这里一口气 进行了3次 ++a mov eax, DWORD PTR _a$[ebp] add eax, DWORD PTR _a$[ebp] add eax, DWORD PTR _a$[ebp] mov DWORD PTR _b$[ebp], eax
关于 (
++
a)+(
++
a)+(
++
a) 和 (a
++
)+(a
++
)+(a
++
) 问题
今晚有一个学弟问我这样一个问题: #include int main() { int a=3,b,c,d; b=(
++
a)+(
++
a)+(
++
a); a=3; c=(a
++
)+(a
++
)+(a
++
); a=3; d=
++
a+6; printf("b=%d\nc
++
a和a
++
的相关问题
int a=1;int b,c;b=(a
++
)+(a
++
)+(a
++
);...//计算结果:c=10,a=4为什么c=10呢?结果与编译器有关,gcc得出的结果也是10。下面是一个测试的源代码:int main(int argc, char argv[]){ int a = 1; int b,c; b = (a
计算机二级C语言基础选择易错题及答案解析(六)
1.有以下程序: #include<stdio.h> main() { int S,t,A=10;...在
VC
6平台上编译
运行
,程序
运行
后的输出结果是()。 A.2,4 B.1,4 C.4,8 D.10,6 解析: C语言中利用sizeof(函数判...
c 试题
c 试题 2010年06月02日 .1 若a、b、c、d都是int类型变量且初值为0,... D) d=(c=22)-(b
++
); 答案:C 3.2 以下选项中不是C语句的是 A) {int i; i
++
; printf("%d\n", i); } B) ; C) a=5...
C语言------数据类型与输入输出
1 、实训名称 实训2:数据类型与输入输出 2 、实训目的及要求 1.掌握C语言基本数据类型(整型,实型,字符型)数据的常量表示、变量的定义和使用。 2.了解C语言表达式语句,... printf("b=%d\n",5+b
++
); return 0;
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章