请问"(a=3*4)=4*6"在c语言中是什么意思
5个回答
展开全部
这个是考核C语言运算符优先级的题目:
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
综上所述:
(a=3*4)=4*6
(a=12)=4*6
(a=12) = 24
此时a等于12,然后再将24赋值给a
也就是a=24,不再等于12啦。
语法上好像没问题啊。希望能帮助到你
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
综上所述:
(a=3*4)=4*6
(a=12)=4*6
(a=12) = 24
此时a等于12,然后再将24赋值给a
也就是a=24,不再等于12啦。
语法上好像没问题啊。希望能帮助到你
展开全部
有语法错误。 先对子表达式(a = 3*4)进行运算,这时得到的结果,不再是一个有效的左值,所以后面再进行赋值,就出错了。你可以在比较标准的C语言编译器上试一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
双引号引起来的是C语言中的字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分解下,先做括号里的a=3*4=12,然后做括号外的,a=4*6=24;
结果是24
结果是24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个字符串表达式,是由""界定的,两个引号中间的内容就是一串字符,不是表达式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询