|
![]() | 作者: 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号