专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

C语言菜鸟求高手解答以下代码

发布时间:2011-06-28 16:18:57 文章来源:www.iduyao.cn 采编人员:星星草
C语言初学者求高手解答以下代码?
#include<stdio.h> int func(int a,int b)  
{
int c;
 c=a+b;
 return c;
}
 main()
{
int x=6,y=7,z=8;
r=func((x--,y++,x+y),z--);
 printf("%d\n",r);
}  
为什么答案是21?
需要详细过程?

------解决方案--------------------
定没定义都没啥 你自己清楚就ok 

主要强调2个知识点 逗号运算和++,--后置问题

逗号运算结果为最后一个表达式,此题中即为x+y,而且运算是从左往右以次计算,然后整个为最后一个表达式的值。。

x++,x--为自加运算,计算顺序为先取值进行下一步计算,再进行自身自加或自减运算,然后才修改x的值

本题中(x--,y++,x+y)x和y的值在进行x+y之前不变,所以括号计算结果为13,然后z--同理也先不变为8.

然后进行函数计算 求和运算 8+13=21,完成~若还有下面程序,则x,y,z值相应进行+1或-1变化(应该没问

题哈)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: