永发信息网

请问此函数如何调用k=fun ( a++ ),详解,谢谢。

答案:3  悬赏:0  手机版
解决时间 2021-02-20 06:27
int fun(int a)
{
int b=0;
static int c=3;
a=( c++, b++) ;
return(a);
main()
{

int i,k,a=2;
for(i=0;i<2;i++)
k=fun ( a++ );
printf(" % d\n ",k );
最佳答案
k=fun ( a++ );一共调用了2次,一次a=2,一次a=3,
a=( c++, b++) ; 等价于a=b++; b =0;
所以每次调用都返回0
k=fun ( a++ );最后一次调用函数时的返回值 
最后k也输出0
全部回答
第一次,a = 2,执行完return 的值为3,此时a=3.c=4,第二次a = 3,return的值为4,所以k = 4,C是static是静态的,只初始化一次,所以第一次执行完,C= 4,第二次执行完,C = 5,再说说c++, a = c++,执行顺序是a = c。c再加1.所以retrun的值为4,但是C的值是为5
输出结果还是0的。fun函数里面,b只是一个局部变量,a=( c++, b++) ;里面是个逗号表达式,值是b++ 的结果。所以每次执行完都是将0赋给a,然后b+1,但是退出fun之后,b的 值还是0. 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
租个摊位卖菜可以吗?一个月大概能挣多少钱啊
魔兽争霸 我带2个电脑简单的 打三个令人发狂
衣卓馆遂宁NO.2我想知道这个在什么地方
11.在生活中,我们有时因为生病而需要打针输液
有没有男主角受父母之命结婚的,女主角有个妹
四川康贝大药房山泉镇陈勇药店这个地址在什么
封丘县新乡温莎时尚主题KTV在什么地方啊,我
【代名词是什么意思】英语代名词是什么意思
模特樊玲和模特于雯哪个漂亮…
仙剑奇侠传的歌曲里有一句是“回头看,不曾走
尚慕灯饰旗舰店在什么地方啊,我要过去处理事
怎么确定自己安装显卡驱动是否正确?
为什么煮好白灼虾有黑点
验钞机里的电机能发电吗
从大学城到昆明市官渡区巫家巷33号要怎么坐公
推荐资讯
急!!!请帮我分析一下以下哪个大学更适合报
怎样让更改QQ音乐同时下载音乐数目,我想让他
读我国汽车产业群地区分布图,完成下列各题。
如下图所示,该心电图显示的心律失常类型是(
龙川县质监局我想知道这个在什么地方
问时风704与耕王704哪个性能好
2014年的假期安排为什么除夕不是国家法定节假
400元左右的游戏耳机推荐一款 我要买的北海巨
95匹马力能载多重的货
要男生真实的帅气背影,不要网上的,
纯k2014欧美金曲串烧 我看mv 有个瘦瘦的黑人
小明看一本书240页的故事书,第一周看了全书
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?