C语言中a*=2+3是什么意思

如题所述

(a
*=
2+3)是(a
=
a*(2+3))的简写,(a
=
a*(2+3))是(a
*=
2+3)的繁写,在代码中使用简写能使代码简洁和易读。
从繁写上可以清楚知道,它是个赋值语句,因此它的大概运算步骤是:
s1:
t
=
a*(2+3)
s2:
a
=
t;
具体来说,如果a等于6,
(a
*=
2+3)则等于
30。
(a
*=
2+3)这样的表达式记法可以叫”波兰式”或”中缀表达式”,*=又是”逆波兰式”,c语言语法只在赋值表达式中采用了这个记法,即形式:a
=b,
a
=b包括:*=,/=,-=,+=,%=,&=,|=,<<=,>>=,^=,~=
表示运算过程:
先算a
b,再算a=a
b
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中a*=2+3是什么意思
a++表示a自增1,就是给a+1然后赋值给a,相当于a=a+1。在C\/C++等高级语言中,++是自增运算符,它有两种用法:1、i++:使用i之前先使i加一;2、++i:使用i之后再加一。

c语言 a*=2+3是什么意思 还有 a\/=a+a
如果a已经声明类型并已赋值,那么a*=2+3就是a=a*5的意思;同样a\/=a+a就是a=a\/(a+a)的意思。因为+的优先级比*=和\/=高。如果a没有声明,则是错误语句;如果a未赋值,则编译时会警告并得到一个垃圾值……

C语言 a*= 2+3 该怎么算呢 还有a+=a-=a*=a
a*= 2+3的结果为a=a*(2+3)=5*a。a+=a-=a*=a的结果为:0。语句的执行分析:a*= 2+3,首先加法的优先级大于赋值运算符的优先级,所以限制性2+3=5然后执行*=,表达式可以转化为a=a*5,所以说a*= 2+3的结果为5*a。a+=a-=a*=a,表达式中全部都是赋值运算符,所以说运算是自...

c语言(a*=2+3)的简化形式是什么?
a*(2+3)s2:a = t;具体来说,如果a等于6,(a = 2+3)则等于 30。(a = 2+3)这样的表达式记法可以叫”波兰式”或”中缀表达式”,*=又是”逆波兰式”,c语言语法只在赋值表达式中采用了这个记法,即形式:a =b,a =b包括:*=,\/=,-=,+=,%=,&=,|=,<<=,>>=,^=,~= ...

int a=2; a*=2+3;a的值为什么等于12?
int a=2; a*=2+3;a的值不等于12,而是10。a*=2+3;这个程序算式中是优先算2+3的,因为+的优先级比*=高。也就是a*=5;a*=5相当于a=a*5,又因为已经定义了a=2,所以a*5=2*5=10。printf(a)时运行程序后得出结果也是10。

int a=2; a*=2+3 C语言最后为什么运算结果是12。最好能解释的简单点,我...
a*=2+3 先计算右侧加法, 于是是 a*=5 等效于a=a*5 然后 带入a a=2*5=10;这个是不可能等于12的.

C语言 a*= 2+3 该怎么算呢 还有a+=a-=a*=a
=符号的优先级最低,所以a*= 2+3等价于 a = a *(2+3);+=,-=,*= 为右结合,即从右至左算

C语言中设a=12,求a * =2+3的值?
应该是60,因为+的运算优先级高于*=,所以2+3先执行,则a*=2+3等价于a=a*(2+3)=12*5=60,你这里*和=中间多了一个空格,编译会出错

C语言:设原来a=12,赋值表达式a*=2+3运算后a的值是?
你好!运算后a的值是a=a*(2+3),也就是60。

求大神解答c语言,int a=2 a*=2+3。结果,并解释下
结果是10 int a=2 a*=2+3 a=a*(2+3)=10

相似回答
大家正在搜