问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言,这个运行结果是多少,怎么来的?

发布网友 发布时间:2022-06-05 03:01

我来回答

5个回答

热心网友 时间:2022-07-09 12:49

因为变量c是静态局部变量,所以其生存期与程序相同,每次调用后其值将长期保留(不会被内存释放),其初始值是当程序运行时第一次赋的值,以后调用不再赋初始值(再次进入f函数时,第二句赋值语句不执行),

因此,第一次调用f函数时c为5(a=c++是先赋值后自增),第二次调用f函数时c为6,又因为逗号运算符的优先级低于赋值运算符,所以变量a被赋值为变量c(而不是变量b),并被返回给k,因此第一次调用f后k为5,第二次调用f后k为6,

程序打印的是第二次调用f后k的结果,所以输出6.

热心网友 时间:2022-07-09 12:50

这是个有趣的问题, 程序代码本身很多混淆,冗余。

这里容易造成困惑的关键点在于 逗号表达式和 赋值运算符 谁的优先级高。

即:a= c++,b++;   如果理解为 a=c++;  b++; 还是理解为 a =(c++,b++);

逗号表达式优先级最低,这里应理解为 a=c++;  b++;

函数 f 的 参数多余, b多余,简化后,函数等效下图:

热心网友 时间:2022-07-09 12:50

f()里面a的值被赋于c的值,为5,与原来进来是多少没有关系,f()的返回值只与里面的c有关,总是返回5。

热心网友 时间:2022-07-09 12:51

6
main里面,调用f函数两次,
第一次,f函数里面的c初始化为5,a=c++,会导致c自增为6
第二次,f函数里的c由于是静态变量,所以不执行初始化语句,a=c++, a的值是6,c自增为7,最后返回a,
返回结果回到main函数赋值给k,k的结果就是6

热心网友 时间:2022-07-09 12:52

k的输出值是 6
for 循环会执行两次,第一次调用 f(a=4) 第二次调用 f(a=5).
第一次调用时,f(a=4) 返回值a是c执行++之前的结果,返回5,c++后变成6.
第二次调用时,f(a=5)此时c已经是6了。同样返回值a是c执行++之前的结果,返回6.
返回值6被赋值给k,因此输出 k = 6.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 C语言中连续使用两个break会有什么效果? C语言程序问题! c语言循环语句是干什么的? c语言 CRC的检验方式 我想问一下。这下面的C语言返回的CRC的值是什么。他有他的公式是怎么样的 求解 怎样用c语言实现循环码的纠错?希望有高手详细解答~~! 梦到鳄鱼咬我被救 梦见鳄鱼来咬我,但是最后和平相处!求解梦 500万保额意外险 蚂蚁金融货款被骗十三万我怎么去追责 急求,周姓女孩名字,一定要好听文雅气质点的哦…… 别再胡乱清理垃圾了,教你三个清理微信内存技巧,瞬间省出内存 如何在网上购买正宗的阳澄湖大闸蟹? 怎样才能买到正宗的大闸蟹? 在厂里打工适合穿什么鞋? 如何检查openfoam过程无错误,但无法使用 求各路大神推荐CFD编程入门教材? 类似于 scilab abinit gamess openfoam elmer 等常用的开源计算软件还有那些,帮忙介绍下? openfoam停止计算命令 自制四川腊肉的做法,自制四川腊肉怎么做好吃 2011年农历七月初三18时53分,白恩赐这个名字怎么样呀 c语言 求大神看一下哪出错了呀 三岁半的孩子只喜欢关于恐龙的书籍,对别的书不感兴趣,应该怎么办? 40万快币主播赚多少 一个手机如何同时登录两个? 我是按1.1倍基准利率贷款的,现在是6.55那我的利率怎么算,是6.55的1.1倍吗?还是就6.55 我的房贷一开始是基准利率的1.1倍,降息后怎么算 河南酒店管理专升本有哪些学校名单2022年 平顶山煤技校招生条件 我朋友拿我店门,以他自己的名义去办理公司营业执照,然后去贷款,他说他有担保人。对我有风险吗? 朋友借我的营业执照去办创业贷款 担保人不是我 会对我有影响吗? 贷款担保人条件是什么,有什么样的法律责任? 怎么用一个手机号创两个? 中国人寿银保团队口号 中国人寿旅游口号 怎么用同一个手机号码申请多个? 一个手机如何同时登录两个? MacBook要输密码的名称apple是自己的apple ID吗 同一部手机怎样申请第二个? 苹果笔记本忘记管理员密码怎么办?密码格式是什么样的?不是apple ID的密码吗? 苹果密码与安全性的密码是id密码吗