论坛: 编程破解 标题: 关于C语言中关于“++”的一个问题哦! 复制本贴地址    
作者: honyry [honyry]    论坛用户   登录
请看下面程序:
main()
{
int k,i=3;
k=i++;
printf("%d%d",k,i);
k=(i++)+(i++)+(i++);
printf("%d%d",k,i);
k=(++i)+(++i)+(++i);
printf("%d%d",k,i);
k=i+++i;
printf("%d%d",k,i);
}
请问输出结果应该是什么啊?不知道就上机帮我试一下了,声明这是菜鸟级的程序,大侠级不要排挤小弟哦!!!啊哦!

地主 发表时间: 12/09 15:21

回复: kenter1643 [kenter1643]   论坛用户   登录
分析过程,我很久没做过这些东东
k=4
4,4
k=12
12,7
k=27
27,10
k=21
21,11
没调试,应该有错

B1层 发表时间: 12/09 15:43

回复: honyry [honyry]   论坛用户   登录
厉害 虽然是有错的但该错的地方到是对了  只是小学没好好学  逃课了  哈哈 同样佩服

B2层 发表时间: 12/09 16:47

回复: lgf [lgf]   论坛用户   登录
我刚开始学C
???

B3层 发表时间: 12/09 17:15

回复: hcz [hcz]   论坛用户   登录
k=3,i=4
k=12
k=12,i=4
k=15,i=5
k=11,i=6

B4层 发表时间: 12/09 17:19

回复: hcz [hcz]   论坛用户   登录
我刚学几天,这是我认为的结果.

B5层 发表时间: 12/09 17:26

回复: honyry [honyry]   论坛用户   登录
有上机试过的吗?!好象错的很多了哦

B6层 发表时间: 12/09 17:27

回复: cyshaoping [cyshaoping]   论坛用户   登录
3 4                //++在后面则先处理再加,所以k=3,i=4.以下类似
12 7              //++在前面则先加再处理.
30 10
20 11


[此贴被 cyshaoping(cyshaoping) 在 12月09日20时01分 编辑过]

B7层 发表时间: 12/09 20:36

回复: honyry [honyry]   论坛用户   登录
终于有全对的了哦!

B8层 发表时间: 12/09 21:19

回复: ceo_8008 [ceo_8008]   论坛用户   登录
这样记就好了

一个式里有几个i++就加几,再总加就可以了

很好理解的

B9层 发表时间: 12/09 23:08

回复: spirn [spirn]   论坛用户   登录
在不同的编译器上有不同的效果
例如 (++i)+(++i)
假设i=3
在linux下的gcc,会把++i-->i 然后在继续
所以上表达式的值为 10
但是在sun下面的gcc,中间结果保存在寄存器中
结果是4+5=9


[此贴被 spirn(spirn) 在 12月10日16时04分 编辑过]

B10层 发表时间: 12/10 16:50

回复: realpope [realpope]   论坛用户   登录
这个只是给c菜 一个示范性的教程  我想就没有必要搞得那么复杂了

会吓坏他们的

B11层 发表时间: 12/11 17:58

回复: wyh5869 [wyh5869]   论坛用户   登录
++稳定后再加

B12层 发表时间: 12/13 19:42

回复: honyry [honyry]   论坛用户   登录
我想看以后的程序应该向更明了更易懂发展,要不然看程序就象看数学题一样,程序本身并不神秘,只是有些人愿意把简单的东西复杂话了,这样好显着他(她)牛比啊! 呵呵。

B13层 发表时间: 12/14 21:32

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号