首页 > 试题广场 >

执行下面程序后的输出结果是( )

[单选题]

执行下面程序后的输出结果是(

#include<stdio.h>

void main( )

{   
    int  a=1,b=1;

    a=b++;

    printf("%d,  %d\n",  b, a);

}

  • 1, 2
  • 1,  1
  • 2,  1
  • 2,  2
推荐
C
a=b++;先将变量b的值代入表达式,在表达式运算完毕后,再将变量b的值进行++处理。
因此先执行赋值运算,将1赋值给变量a。
再执行自加运算,变量b的值变为2。
因此最终输出2, 1。

综上本题选C。
编辑于 2020-01-21 16:24:40 回复(0)
C
根据题目,结合运算优先,分解步骤:
  1. 初始化:a=1,b=1
  2. 运算:b++属于后自增,返回的是b=b+1赋值号右边b的值,即b先按初始化的值赋值给a,然后再加1赋值给b自身;
  3. 结果:a=1,b=2
发表于 2020-01-16 19:46:48 回复(0)

C。

发表于 2020-02-01 15:27:51 回复(0)
C
b++是先赋值后加,++b是先加再赋值
a=b++;首先1赋给a,然后b变为2
发表于 2020-01-16 17:58:34 回复(0)
C 先赋值后自加
发表于 2020-01-16 14:37:44 回复(0)
b++先使用在自加,注意最后输出的顺序,别的没啥
发表于 2020-01-15 11:24:09 回复(0)

加号在后表示先负值后自加,反之亦然

发表于 2020-02-12 22:47:27 回复(0)
b = 2
a = 1
发表于 2020-01-28 15:18:44 回复(0)
这句话等价于
b = a;
a = a + 1;
发表于 2020-01-20 20:57:21 回复(1)
a=1,b=2;
发表于 2020-01-16 21:27:39 回复(0)
2,1
发表于 2020-01-16 14:30:17 回复(0)
C
发表于 2020-01-15 17:36:08 回复(0)
b++先用后加,所以赋值给a 的值为1.  b++使得b自增1,b的结果为2
2,  1
发表于 2020-01-15 15:07:14 回复(0)