下列程序的执行结果是 ( )。 #include<stdio.h> main () { int a, b, c ; a=b=2 ; c+=(a++)-1 ;printf ("%d,%d",a,c);

admin2010-05-22  22

问题 下列程序的执行结果是 (    )。    #include<stdio.h>    main ()    {  int a, b, c ;       a=b=2 ;       c+=(a++)-1 ;printf ("%d,%d",a,c);       c+=-a+++ (++b) ;printf ("%d,%d",a,c);    }

选项 A、3,1 4,1
B、3,1 4,2
C、2,0 4,1
D、2,1 4,1

答案1

解析 本题主要考查自加运算符(++、--)的使用。①前缀变量“++i、--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;②后缀变量“i++,i--”,先使用此时的表达式的值参与运算,在使用i之后,再使i的值加1或者减1。题中计算表达式c=(a++)-1时先使用a的值进行计算,结果为c=2-1=1,然后将a的值加1,即执行完此语句后a的值是3;表达式 c+=-a+++(++b)等价于c=c+(-a++)+(++b),c=1+(-3)+3-1,此时a=4,b=3。
转载请注明原文地址:https://kaotiyun.com/show/3NWp777K
0

最新回复(0)