问答详情
源自:3-3 自增与自减运算符

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

我一直分不清是先++--先后关系,本来说++在后应该先求值再++的,结果分号又跟顺序点有关,我看了其他资料,
也没理清楚这关系,实在是不懂,拜托大神帮忙解析下,谢谢


提问者:包小龙虾 2018-08-06 14:58

个回答

  • 包小龙虾
    2018-08-06 16:13:06

    有冲突啊,分号前要完成副作用不就说明++要在分号之前完成啊

  • 慕田峪9303960
    2018-08-06 15:25:33

    就是++在前,先加了再赋值,在到下一行,如果是a++就是说直接将a赋值下一行,然后给a加一,

    答案是B