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
我一直分不清是先++--先后关系,本来说++在后应该先求值再++的,结果分号又跟顺序点有关,我看了其他资料, 也没理清楚这关系,实在是不懂,拜托大神帮忙解析下,谢谢
有冲突啊,分号前要完成副作用不就说明++要在分号之前完成啊
就是++在前,先加了再赋值,在到下一行,如果是a++就是说直接将a赋值下一行,然后给a加一,
答案是B