搜索
bottom↓
回复: 7

C语言入门 求教

[复制链接]

出0入0汤圆

发表于 2010-2-25 23:30:33 | 显示全部楼层 |阅读模式
您好,我是个C语言初学者,碰到下面一个程序,不知道如何分析,请多指教,不胜感激

main()
{int i=3,k=0;

k=i++*++i+i--*--i;

printf("k=%d",k);
}

该程序运行结果为  18 ,我不知道该程序的运算是如何进行的,如果可以的话,是否可以详细的帮我解答一下呢,不胜感激,再次拜谢了

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2010-2-25 23:41:32 | 显示全部楼层
入错门了

出0入0汤圆

 楼主| 发表于 2010-2-25 23:42:44 | 显示全部楼层
对不住,我也是有病乱投医,希望能碰上救星...

出0入0汤圆

发表于 2010-2-26 00:52:45 | 显示全部楼层
第一先搞明白++,--:
i++是先用i然后再把i加1;
++i是先加1再使用i;
--与++类似,只是把加换成减
第二搞清楚运算符优先级:
++,--运算符比*运算符级别高
得先++,--后在*,*的级别又比+高
第三式子转换:
(i++)*(++i)+(i--)*(--i)
=3*4+3*2
=12+6=18

出0入0汤圆

发表于 2010-2-26 01:28:11 | 显示全部楼层
第三式子转换:
(i++)*(++i)+(i--)*(--i)
=3*4+3*2 ;;???
=12+6=18

;;
(i++)*(++i)=3*4
(i--)*(--i)=4*3前面的i值不是等于4了吗;;怎么会等于3*2??

原来括号还有优先级
4-1=3
下个括号先减1
3-1=2
然后再3*2=6
学习了,真是绕人,要用括号多省事。

出0入0汤圆

 楼主| 发表于 2010-2-26 11:26:27 | 显示全部楼层
多谢诸位帮忙解答了,不过小弟我还是不甚了解,我也是看了“吉林一所高校的c语言视频教程”后,没有听懂该问题的讲解才到这里发帖的,哪位老师对该问题的解答也是如您们这般的,不过我还是希望有哪位仁兄,能够抽出一些时间,更详尽的解释一下该题的分析步骤,因为我是个“笨人”,我想知道,在这4个运算单位中,应该先去处理“哪一个元素”,处理之前和处理之后,i的值应该是多少,期待您的讲解,小弟在此拜谢了...

因为我始终认为  i在任何一个时刻,他的值应该是唯一的,而且存储于一个特定的地方的,不知道我这么说是否正确,期待您们的指点和纠正,多谢,不胜感激

出0入0汤圆

发表于 2013-9-4 15:05:18 | 显示全部楼层
关于i++  与++i的知识点 相信只有是本C语言的书  都会讲解的  楼主与其在这发帖来问  不如踏踏实实的坐下了  看一看书上是怎么说的

出0入0汤圆

发表于 2014-4-27 21:03:27 | 显示全部楼层
路过路过了  顺便看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 10:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表