int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2 B.6C.8 D.10我是这样答的,#include "stdio.h"void main(){int a=2,b=6,c=8,d;d=(a,b),(c,10);printf("%d\n",d);getch();}结果为6.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 01:46:13
int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2 B.6C.8 D.10我是这样答的,#include

int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2 B.6C.8 D.10我是这样答的,#include "stdio.h"void main(){int a=2,b=6,c=8,d;d=(a,b),(c,10);printf("%d\n",d);getch();}结果为6.
int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.
10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )
A.2 B.6
C.8 D.10
我是这样答的,
#include "stdio.h"
void main()
{
int a=2,b=6,c=8,d;
d=(a,b),(c,10);
printf("%d\n",d);
getch();
}
结果为6.

int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2 B.6C.8 D.10我是这样答的,#include "stdio.h"void main(){int a=2,b=6,c=8,d;d=(a,b),(c,10);printf("%d\n",d);getch();}结果为6.
是这样的:首先从全局看这是个逗号表达式.表达式的第一个操作数是(a,b),第二个操作数是(c,10).依照都好表达式的运算规则:从左向右依次运算,整个表达式的值是最右边操作数的值.
但是对于这里,操作数又是逗号表达式.所以,(c,10)这个表达式的值为10,二这个值又作为外层逗号表达式的运算,所以最后的结果是整个表达式的值就为10.故这里应该选择D.
但是你这里的做法是有误的!d=(a,b),(c,10);
我们知道在这个表达式中有三种运算符:=、()、,
而这三种运算符的优先顺序为:优先级最高的是(),其次是= ,而,是所有运算符中优先级别是最低的.所以先运算(),运算后表达式变为:d=6,10
再运算= 所以,d=6
整个表达式的值是10 但是的的值是6 所以你这里输出的不会是你想要是10 ,而输出的是6