2-10 执行完下列语句后,a、b、c三个变量的值为多少? a = 30; b = a++; c = ++a;

2-10 执行完下列语句后,a、b、c三个变量的值为多少? a = 30; b = a++; c = ++a;


参考答案和解析
D 解析:注意到本试题中x为结构体数组,则数组名x代表数组首地址。x[0]、x[1]代表结构体数组元素。对于指向结构体数组的指针变量p,每次“+1”则指向下一个结构体数组元素。本题中++p后,由x[0]改指向x[1]。结构体数组x在定义时赋初值,但未对结构体成员b赋初值。语句“x[0].b=x0;x[1].b=x1;”的作用是对结构体数组x的成员b赋初值。对于选项A,(++p)->a等价于x[1].a==200。选项B,*p->b等价于*(x->b)==*x0==110。选项C,*(p++)->b等价于*(x[0].b)==110=x0[0]。选项D,*(++p)->b等价于*(x[1].b)==210=x1[0]。注意,在测试以上1个选项的输出值时,不能放在同一个printf函数中进行输出。因为函数中的参数运算顺序在C语言中是自右向左进行的,而p的值又是不断变化的,所以相互之间会产生影响。

相关考题:

设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是() A、552B、144C、264D、-264

设i,j,k均为int型变量,则执行完for(i=0,j=10;i=j;i++,j-- k=i+j;语句后,k的值为【8】 。

设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是().

已知inti,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值为()A、2B、3C、4D、5

若a为int类型变量,则执行以下程序段后a的值为()。 a=5;a*=a/=a++; A.2B.1C.40D.3

假设a和b为int型变量,则执行以下语句后,b的值为 ______。 a=1;b=10; do {b-=a;a++; }while(b--<0);A.9B.-2C.-1D.8

执行完如下语句后,Sum的值为()。A.0B.5C.15D.20

设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c = a++‖b++;变量b的值是【 8 】。

执行完下列语句段后,i值为()。A.2B.4C.8D.无限递归

假设a和b为int型变量,则执行以下语句后b的值为( )。 a=1;b=10; do { b-=a;a++;} while(b--0);A.9B.-2C.-lD.8

程序执行完这条语句后int i=1,j=1;i2+j;i的值是多少?A.1B.2C.8SXB 程序执行完这条语句后int i=1,j=1;i2+j;i的值是多少?A.1B.2C.8D.3

若a的值为1,则执行语句if((a>0)||(a++ 若a的值为1,则执行语句if((a>0)||(a++A.3B.2C.1D.0

若a的值为1,则执行语句if((a++0))? a++;后,a的值是( )。A.3B.2C.1D.0

假定a和b为int型变量,则执行以下语句后b的值为( )a=1; b=10;do b-=a; a++;}while(b--0);A. A.9B.-2C.-1D.8

设i、j、k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--) k=i+j;语句后,k的值为______。

执行语句“a=6=5”后,变量a的值为()。

若a的值为1,则执行语句if((a++0)||(a0))?a++;后,a的值是()A、3B、2C、1D、0

执行完a=53 And "a""c"语句后,a的值为()。A、TrueB、FalseC、1D、0

设有说明语句:intx;,执行语句x=10;x+=x-=x;后,变量x的值为()A、0B、10C、20D、30

设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1b+c/2 后,t的值是()

语句x,y=10,20执行后,变量y的值为()A、10B、20C、10,20D、30

假设有如下Actionscript语句,那么在执行完语句后,变量a和b的值分别是()。A、a=2,b=1B、a=0,b=1C、a=1,b=0D、a=2,b=2

单选题若a的值为1,则执行语句if((a++0))?a++;后,a的值是()A3B2C1D0

单选题若a的值为1,则执行语句if((a0)||(a++0))?a++;后,a的值是()A3B2C1D0

填空题执行语句“a=6=5”后,变量a的值为()。

单选题若有定义:int a=0,b=0,c=0,d=0; 有C语言表达式 (a++ b++)? c++ : d++,以下关于其执行顺序的叙述正确是(  )。A先执行a++,表达式a++的值为0,由此即可确定(a++ b++)值为0,因此执行d++B先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++ b++)值为0,因此执行d++C先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++ b++)值为1,因此执行c++D先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++ b++)值为1,因此执行c++

单选题语句x,y=10,20执行后,变量y的值为()A10B20C10,20D30

单选题设有说明语句:intx;,执行语句x=10;x+=x-=x;后,变量x的值为()A0B10C20D30