搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 自加自减————讨论
标题:
自加自减————讨论
只看楼主
呆派祖师
等 级:
新手上路
帖 子:36
专家分:0
注 册:2005-1-30
楼主
问题点数:0 回复次数:6
自加自减————讨论
void main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
p q i j的计算结果??
搜索更多相关主题的帖子:
void
2005-02-10 09:54
Antigloss
等 级:
新手上路
帖 子:109
专家分:0
注 册:2004-12-30
第
2
楼
得分:0
p=5+5+5
i=8
q=7+7+8
j=8
==============
不知看明白否?
蚂蚁的 C/C++ 标准编程:
" target="_blank">http://cpp.
" target="_blank">http://cprog.
/antigloss/" target="_blank">http://free3./antigloss/
欢迎惠临~ C/C++ 的电子书~源代码~教程~帮助~您都可以从这里获得~
2005-02-10 13:08
瞌睡草
等 级:
新手上路
帖 子:1
专家分:0
注 册:2005-2-10
第
3
楼
得分:0
其实在自加自减的问题上根本就没必要讨论太深
与其在这方面研究还不如多花时间探索c精髓
2005-02-10 16:52
呆派祖师
等 级:
新手上路
帖 子:36
专家分:0
注 册:2005-1-30
第
4
楼
得分:0
给的答案不是这个样子的
p=5+5+5
i=8
q=8+8+8
j=8
能解释否???
2005-02-10 18:10
Antigloss
等 级:
新手上路
帖 子:109
专家分:0
注 册:2004-12-30
第
5
楼
得分:0
不可能耶~看来不同的编译器处理不同吧~
我用vc,编译后计算出来q=22,也就是7+7+8。
因为q=(++j)+(++j)+(++j);先自增两次,也就是++j---->6, ++j---->7,然后相加q=14+(++j)。之后++j---->8,q=14+8=22
可能因为不同的编译器处理不同,或者答案本身错误。你自己编译看看就知道了
[此贴子已经被作者于2005-2-10 18:35:41编辑过]
蚂蚁的 C/C++ 标准编程:
" target="_blank">http://cpp.
" target="_blank">http://cprog.
/antigloss/" target="_blank">http://free3./antigloss/
欢迎惠临~ C/C++ 的电子书~源代码~教程~帮助~您都可以从这里获得~
2005-02-10 18:34
同道中人
等 级:
新手上路
帖 子:8
专家分:0
注 册:2005-2-9
第
6
楼
得分:0
奇怪偶的结果是21撒
我哪出错了
本人菜鸟,如有不对,请大家及时改正。 谢谢
2005-02-11 15:05
aczhe
等 级:
新手上路
帖 子:90
专家分:0
注 册:2004-12-23
第
7
楼
得分:0
i++是先参与运算,然后自加。
p=(i++)+(i++)+(i++)=5+5+5=15;然后i自加3次,最后i=8
++j是先自加,然后参与运算。
j自加3次,j=8;然后p=8+8+8+8=24
君子敬其在己者,而不慕其在天者,是已日进也。
2005-02-11 16:18
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-12112-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.069268 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved