已有声明“int x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++;”后,变量x、a、b的值分别为___(26)___。

A. 3 4 3 B. 3 3 4 C. 3 3 3 D. 4 3 4
求详细解释,谢谢

该赋值语句可以写成这样
if(a>b++)//a大于b++ 执行完成后b=3;
{
x = a++;//a++后a的值为4 赋值语句自右向左x为3
}
else
{
x = b++;//不执行
}
因此x,a,b为3,4,3.
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-12
a++先赋值后自加,所以执行完语句后,自然是等于4,b自然是3
a>b,所以x = a++,所以x = 3 答案是 A本回答被提问者采纳
第2个回答  2011-10-12
选A 3 4 3
你自己要是对符号优先级不懂的话可以自己写一个程序运行结果出来不就知道选那个了嘛
c语言程序:
main()
{
int x,a=3,b=2;
x=a>b++?a++:b++;
printf("x=%d\na=%d\nb=%d",x,a,b);
}
运行之后就能看到结果了

...x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++;”后,变量x、a...
{ x = a++;\/\/a++后a的值为4 赋值语句自右向左x为3 } else { x = b++;\/\/不执行 } 因此x,a,b为3,4,3.

智慧树知到 计算机编程 测试部分答案
答案:【24 720 120】5. 设void f1(int *m,long &n);int a; long b;答案:【f1(&a,&b); f1(&a,b); f1(a,b);】6. 在C ++流中操纵符中,设置域宽【left setfill() ate】7. 设有数组定义char a[]="China";则数组a所占的空间字节数为( )。答案:【6个字节 7个字节 4...

a++=b++ 怎么理解
答:a++=b++不能通过编译,因为a++是表达式而不是变量,由于赋值运算符的左边只能是变量,所以a++=b++是不合法的赋值语句,故不能通过编译。

...赋值语句( ) A) a++ B) a==b; C) a+=b; D) a=1,b=1?
下面分别分析:A,a++,变量a的值自增1,它的作用等同于:a=a+1,所以,它有赋值功能;B,a==b,这是比较a与b是否相等,但是,比较的结果不会影响a和b的大小,同时,比较的结果也没有保存,所以,它没有赋值功能;C,a+=b,它等价于a=a+b,把a+b的和赋值给a,所以,它具有赋值功能;D...

面试题系列第3篇:Integer等号判断的内幕,你可能不知道?
假设编译器先处理int a=3,此时会在栈中创建a的引用变量,然后查找栈中是否存在3这个值,如果没有就将3存放进来,然后将a指向3。接着处理int b=3,创建完b的引用变量后,同样进行查找。因为在栈中已经有3这个值,便将b直接指向3。此时,a与b同时指向3这个值,自然是相等的。对于“==”操作符号...

设已有定义:float x;,则下列对指针变量 p 进行定义且赋初值的语句中正确...
正确答案选择D,“float *p=&x;”,因为x是一个float型的变量,所以说要定义一个float型的指针变量来存储x变量的地址,所以说选项D直接排除。然后C选项也可以排除,因为C选项定义的是变量,不是指针变量。A和D选项都是指针变量,但是A选项不能作为正确的语句,不能把一个常数赋值给指针变量,所以说A...

以下关于C语言的描述,哪些是正确的?
C 语句int *func(); 中,func 表示的是(A)A. 返回值为指针的函数名称 B. 指向函数的指针 C. 指向整型变量的指针 D. 指向数组的指针 C语言规定,若未对函数返回类型加以说明,则函数的隐含类型为(B)A. char B. int C. void D. double 已有定义char a[] = "xyz", b[]={ 'x',...

C语言的指针是什么
1。 char a[20];2。 int *ptr=a;...3。 ptr++;在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样处理的:它把指针ptr的值加上了sizeof(int),在32位程序中,是被加上了4。由于地址是用字节做单位的,故ptr所指向的地址由...

赋值语句a++=+20,相当于+a+=?
因此,赋值语句a++=+20,相当于+a+=?可以理解为:先执行a++,返回a的原始值,并使a自增1。再执行+a+=20,即先使a自增1,并返回新的a值,然后将新的a值加上20,并赋给新的a。最后得到新的a=a+2+20。例如,如果初始时a=10,则执行完这个赋值语句后,新的a=32。

c语言a++和++a的区别
int a = 1;int b = a++;int c = ++a;在这段代码中,b的值为1,因为a++先取a的值1,然后将a的值加1。而c的值为3,因为++a先将a的值加1,变为2,然后将2赋值给c。由此可见,a++和++a在实际使用中可能会有不同的效果,需要根据具体需求来选择。另外,a++和++a在不同的上下文中...

相似回答