亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

114. 以下程序運行后屏幕輸出為( )

114. 以下程序運行后屏幕輸出為( )。
#include<stdio.h>
void f(int i)
{
int a=2;
a=i++;
printf("%d,",a);
}
main()
{
int a=1,c=3;
f(c);
a=c++;
printf("%d",a);
}
A. 4,3
B. 3,3
C. 4,5
D. 3,5

我一直分不清是先++--先后關系,本來說++在后應該先求值再++的,結果分號又跟順序點有關,我看了其他資料,
也沒理清楚這關系,實在是不懂,拜托大神幫忙解析下,謝謝


正在回答

2 回答

有沖突啊,分號前要完成副作用不就說明++要在分號之前完成啊

0 回復 有任何疑惑可以回復我~

就是++在前,先加了再賦值,在到下一行,如果是a++就是說直接將a賦值下一行,然后給a加一,

答案是B

0 回復 有任何疑惑可以回復我~
#1

包小龍蝦 提問者

可是這個不是涉及副作用和順序點的關系嗎,分號是順序點,碰上順序點在這之前的副作用不是都要完成嗎
2018-08-06 回復 有任何疑惑可以回復我~
#2

慕田峪9303960 回復 包小龍蝦 提問者

是的呀!但是++語句再前再后的規則就是這樣,和你這個分號要結束語句不沖突,
2018-08-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

114. 以下程序運行后屏幕輸出為( )

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號