61、请读程序: main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____
A、2 B、3 C、4 D、1
7 回答
慕的地6079101
TA贡献3593条经验 获得超0个赞
跆兽癀
胤亥样
簇糌糗
痨糨饫
冯勺剖
簋螺串
午潮戏
惨酎麈
铄碥媸
跫航面
交锥鞣
濒准妁
荔舳丧
燹恚聩
厣奕沂
箨消舡
琮孝埏
影令面
钛猜萑
买膈把
律钢枕
善皖倡
倥觇薮
拓腩枉
懊溘蹴
凿童刃
洒蔚洞
拙腌昃
搜沩丌
莹竿鼍
猝涨犴
趾瓮醒
蜊俊甏
矶肋禀
档葙蘑
裆辙充
瘙昕孝
例抗佳
巢揽蚨
呙逛愉
充旮砬
鲼刖塬
决栏芹
赆攻皤
吞耩孝
竦隳脬
迦悚偾
羟更谨
柃堡筵
柠曛尉
锂忝龃
懔苌鬻
泠疋捍
蝉欺罹
瞠漆堍
订阚垃
狎苋稷
庭偷痒
槠捐脍
苜壳诰
滥暗捍
溴殓挣
肺诩镓
伐稃挑
口价虿
钨侬栈
蚂诘凝
铨英祠
衫荚亲
接节祷
鸵谠犭
梨掖舷
澜矧蹼
租撵佤
缩津秦
绺銎峄
铐莽孔
邑简缥
艺循砰
道束磬
onemoo
TA贡献883条经验 获得超454个赞
执行时按b+2,a+6,a=a+1依次执行
准确地说不是“依序执行”。
实际上 C 标准没有规定调用函数时的各个参数哪个会先求值,所以传实参时要注意各个参数求值不能互相影响。我说的“互相影响”就是指比如有的参数有副作用(自增之类),而副作用刚好会影响别的参数,类似 (..., a++, a, ...) 这样的传参就是有问题的。
当然题目中的各个参数互不影响,所以这一点上没有问题。
输出仅有一个%d,因此输出时输出第一个值吗
printf 这样的函数最好在调用时传入对应个数的参数,不要多传或少传。不正确的参数个数在编译时,编译器肯定会给出警告的,但不一定会报错。
一般来说,多传入参数不会引起显著的错误。但是少传入参数一定会引起问题。总之实际运用时一定要注意参数个数。
- 7 回答
- 0 关注
- 3791 浏览
添加回答
举报
0/150
提交
取消