搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 初来乍到的小萌新,望各路高手多多相助。有个问题想请教大佬们。
标题:
初来乍到的小萌新,望各路高手多多相助。有个问题想请教大佬们。
只看楼主
涛声依旧了
等 级:
新手上路
帖 子:4
专家分:0
注 册:2020-2-2
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:2
初来乍到的小萌新,望各路高手多多相助。有个问题想请教大佬们。
#include <stdio.h>
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d\n",p,q,i,j);
}
想问一下,那个图中的22是怎么来的?
万分感谢
搜索更多相关主题的帖子:
printf
i++
int
多多
void
2020-02-03 19:14
纯蓝之刃
等 级:
贵宾
威 望:
76
帖 子:554
专家分:3690
注 册:2019-7-29
第
2
楼
得分:20
你这个题实际是没有什么太大的意义的,实际上没有人会在正常使用中这样使用变量的,如果非要说,按照正常来看的话结果应该是15,24,8,8.
但是如果编译器遵循新的c++标准,代码都是++j三次做完之后统一对三个操作数做了两次+运算,这样3个数的和是24,
如果编译器遵循老的c++标准,做了两次++j之后做的前两个操作数的+运算,然后又做的++j,然后再做的第二次加法,这样3个数的和是22。
https://bbs.
一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-02-03 19:43
涛声依旧了
等 级:
新手上路
帖 子:4
专家分:0
注 册:2020-2-2
第
3
楼
得分:0
回复 2楼 纯蓝之刃
非常感谢您的帮助!
书山有路勤为径,学海无涯苦作舟。
2020-02-03 21:48
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-499087-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.196732 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved