int a=2,b=6,c=8;,表达式(a,b),(c,10)的值,求程序.

yzlxb1082022-10-04 11:39:541条回答

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("%dn",d);
getch();
}
结果为6.

已提交,审核后显示!提交回复

共1条回复
lb96578 共回答了15个问题 | 采纳率86.7%
是这样的:首先从全局看这是个逗号表达式.表达式的第一个操作数是(a,b),第二个操作数是(c,10).依照都好表达式的运算规则:从左向右依次运算,整个表达式的值是最右边操作数的值.
但是对于这里,操作数又是逗号表达式.所以,(c,10)这个表达式的值为10,二这个值又作为外层逗号表达式的运算,所以最后的结果是整个表达式的值就为10.故这里应该选择D.
但是你这里的做法是有误的!d=(a,b),(c,10);
我们知道在这个表达式中有三种运算符:=、()、,
而这三种运算符的优先顺序为:优先级最高的是(),其次是= ,而,是所有运算符中优先级别是最低的.所以先运算(),运算后表达式变为:d=6,10
再运算= 所以,d=6
整个表达式的值是10 但是的的值是6 所以你这里输出的不会是你想要是10 ,而输出的是6
1年前

相关推荐

int a=2,b=3,c=7,d=10; 则表达式 d=a==b?++b:++C 的值是____.A:10 B:4 C
int a=2,b=3,c=7,d=10; 则表达式 d=a==b?++b:++C 的值是____.A:10 B:4 C:8 D:6
摇摆臭臭1年前1
xmr86 共回答了18个问题 | 采纳率83.3%
a不等于b,则c自增1变为8,再把8赋值给d
有定义int a=2,b=3,c=10;则计算表达式 a+=b+2,c-=a+1 后c的值是
lsxixue1年前1
风之谷07 共回答了19个问题 | 采纳率89.5%
c=2
a=a+(b+2);
c=c-(a+1);
若int a=2,b=3,x;则执行语句if (a
ngjfdhkj1年前1
ss178116 共回答了16个问题 | 采纳率87.5%
因为a
假定int a=2,b=3 ,c=0,则(!c+a==b)+(float)(3*b/a)/2+!cos(90.0)的值是
假定int a=2,b=3 ,c=0,则(!c+a==b)+(float)(3*b/a)/2+!cos(90.0)的值是——
A.3.0
B.3.25
C.4.0
D.4.25
答案应该是A,前面括号和后面的cos算的都是1,但是中间那一部分算出来要么是2.25要么是2.0,不知道怎么算的1.0……求高手指教
岁岁如昔1年前1
无线电爱好者 共回答了18个问题 | 采纳率100%
(!c+a==b)确实是1.0;(float)(3*b/a)/2也确实是2.0;最终的结果也确实是3.0,;所以错的是你对!cos(90.0)的计算!因为在cos中用于计算的是弧度,而不是度,所以如果你想用90.0度,那么用弧度来转换就是90.0*3.14/180,这才能表示90度的意思结果才是0,经过!后才是1.0;
设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是
设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是
A.(!a==1)&&(!b==0) B.(a
yes_hans1年前1
bie啤熊 共回答了11个问题 | 采纳率90.9%
A.(!a==1)&&(!b==0)>>>>>>!非零等于0;0&&……为零;.所以选A;
B.【(a>>>……||1;.一定为1;
C.a&&b>>>>>非零&&非零.为1;
D.【a||(b+b)&&(c-a)】>>>>>a非零||……为1;1小于b;.所以结果还是为1;
若有定义:int a=2; 则正确的赋值表达式是( ).(A) a-=(a*3) (B) double(-a) (C)
若有定义:int a=2; 则正确的赋值表达式是( ).(A) a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3
说明错误的原因
小草961611年前1
Leaqure 共回答了19个问题 | 采纳率100%
正确的赋值表达式是 (A) a-=(a*3) 它等价于 a= a - (a*3)
double(-a) 这句没有赋值. 赋值表达式里,被赋值的应当是变量,处于“左值”
a*3 只是乘法运算,没有赋值操作
a*4=3 a*4 不能做左值.
37、有以下程序 int a=2; int f(int *a) {return (*a)++;} main( ) { i
37、有以下程序 int a=2; int f(int *a) {return (*a)++;} main( ) { int s=0; { int a=5; s+=f(&a); } s+
答案为什么是C,
37、有以下程序
int a=2;
int f(int *a)
{return (*a)++;}
main( )
{ int s=0;
{ int a=5;
s+=f(&a); }
s+=f(&a);
printf("%dn",s);
}
执行后输出结果是 ( C)
A)10 B)9 C)7 D)8
chuizi1231年前1
summer19802 共回答了23个问题 | 采纳率95.7%
从main开始
s+=f(&a); //调用f(),这个函数为+1的功能,自增,2+1,s=0+3
s+=f(&a);//同理,a=3+1 ,s=3+4
你以为是5,对吧?
int a=2;
看到这句没有,它是全局变量,优先使用它,a=5是迷惑你的
#define SUB(a) (a)-(a)   main()   { int a=2,b=3,c=5,d;
#define SUB(a) (a)-(a)   main()   { int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
  printf("%dn",d);
  }
这个夏天不太冷1年前1
递上七名报病秀女 共回答了17个问题 | 采纳率82.4%
d=SUB(A+B)*C //a=a+b
d=(a+b)-(a+b)*c //没有括号把前面括起来,因为这是define定义的宏的特点
d=5-5*5=-20
若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(
若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是( )
选项:
a、2.500000
b、3.500000
c、4.500000
d、5.000000
1983nono1年前1
随风漂影 共回答了25个问题 | 采纳率84%
答案应该选B
表达式前半部分a+b完成后转化成浮点数,所以结果为2.5,后半部分为取整后取模,结果为1
若有定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为_______ (float)(
若有定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为_______ (float)(a+b)/2+(int)x%(int)y(3分)
ddscf1年前1
ww秋天 共回答了15个问题 | 采纳率86.7%
(float)(a+b)/2
得到浮点数2.5
(int)x%(int)y,因为把x,y强制装换为其实就是3墨2
得到int数1
结果是3.5
int a=2,b=4,c=3 以下值为0的是哪个? A.(!a==1)&&(!b==0) B (a>b)&&!c||1
600422101年前1
水采田 共回答了18个问题 | 采纳率88.9%
是A
原因:
A 的形式为 XX && YY,XX或者YY有一个为0,就会为0
B的形式是 XX && YY || 1 ,从左向右运算可以看成是 -> ZZ || 1 (其中ZZ=XX & YY)
所以B恒为1
若定义int a=2,b=2,下列表达式中值不为4的是A)a*(++b) B)a*(b++) C)a+b D)a*b.求
若定义int a=2,b=2,下列表达式中值不为4的是A)a*(++b) B)a*(b++) C)a+b D)a*b.求详解,
小弟初学java,能不能每个答案都给我说下,我算出来是6,6,4,4.结果c不对,
姑苏飞雪1年前1
fgjnfgmk 共回答了14个问题 | 采纳率100%
其实答案是a
结果是6 4 4 4
b中关键注意到
(b++)这个式子的值是2,而不是b
因为是先取b的值为整个式子的值,取到2,然后b自加
(++b)这个式子的含义是b先自加,然后取b作为整个式子的值
若已定义:int a=2,b=2; 则表达式 (a+(b++),b) 的值是
乔家吉祥物八戒1年前1
__笨笨 共回答了23个问题 | 采纳率100%
4,3
b++的意思是先用后加
也就是(2+(2++),b)这里的(2++)要先用值,也就2,用过之后再加 1 ,那么就变成了
(2+2,b) 这是后面的b 就应经被用过了 就要加 1.就变成了 2+1=3
所以值是 4,3
已知int a=2,b=3;float x=3.5 y=2.5,写出表达式float(a+b)/2+int(x)%int
已知int a=2,b=3;float x=3.5 y=2.5,写出表达式float(a+b)/2+int(x)%int(y)的运算结果
并指出表达式运算结果的类型
cecida1年前1
鹦歌 共回答了14个问题 | 采纳率85.7%
解 a+b=3 为单精度的 3/2=1.5隐式类型转换 3%2=1 最终结果 1.5+1=2.5 O(∩_∩)O~
设int a=2,b=3,c=8以下表达式不为2的是A.c%b B.c/b C.a++ D.5.8/a
limanze1年前1
天黑VS天亮 共回答了12个问题 | 采纳率100%
C 明显的C的答案应该是3D是什么东西 要是5小数点的话D的值是5 那么C可以勉强算对 因为在输出输出字符时C的表达方式是先输出再加减 所以输出也是2