您的位置:

a符合c语言语法的表达式,a在c语言中表示

本文目录一览:

符合C语言语法的赋值表达式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9

a=9+b, b++,这是个逗号表达式,先执行a=9+b,然后执行b++;

#includestdio.h

#includestring.h

void main()

{

int a,b=8;

a=b+9,b++;

printf("%d,%d\n",a,b);

}

这个语句是没错的。

符合C语言语法的表达式

B C

=左边必须是左值(可以被赋值的值,也被称作变量表达式,变量、数组表达式、指针表达式的值都是左值。但是算数、逻辑运算表达式、函数表达式的值不是左值所以不能被赋值)所以A、D错误

C是逗号表达式。(逗号表达式的值和类型都由逗号右边的表达式决定,就是说连续逗号表达式比如a,b,c,d等价于a,(b,(c,(d)))

-

赋值仅仅是一种表达式,也有值和类型a = 1。的值是1类型是int,所以完全可以赋值给另一个int类型变量b = (a = 1)也就是b = a = 1。不存在不可以连续赋值的说法。

括号表达式也是一样。只要有类型和值就能赋值给对应的变量这是赋值的原则。

B和C的写法在标准C编译器上都是可以编译通过的。

符合C语言语法的赋值表达式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9

需要首先明确

1.)赋值操作符的优先级比“+”更低.

2.) 赋值操作符的返回值是赋值后的左操作数的值.

3.) 常量和表达式不能作为左值,不能作为左操作数(即不能放在二元运算符的左边).

A出现9+b+c=d+9这样的式子是不能完成赋值的,可以改为a=9+b+(c=d+9)

D的错误与A相同

C是三条语句,a=9+b;b++;c+9,也就是说后面的b++和c+9在这里没有意义

B括号中是逗号表达式,从左往右执行,返回最后一个表达式的值