c语言中a-=a是什么意思
发布网友
发布时间:2022-04-21 15:33
我来回答
共15个回答
热心网友
时间:2022-04-01 19:10
a-=a的意思为a=a-a,先用a减a,然后再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。
运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。
扩展资料:
复合赋值运算符有下列这些:
符号 功能
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
<<= 左移赋值
>>= 右移赋值
&= 位逻辑与赋值
|= 位逻辑或赋值
^= 位逻辑异或赋值
参考资料来源:百度百科-复合赋值运算符
热心网友
时间:2022-04-01 20:28
2a-a²
具体计算步骤如下:
1、公式拆分,按照C语言计算方法和原则,这里的“=”意思是赋值,即将等号右边的数值赋值到左边去。
所以公式可以依次拆分为
(1)a1=a*a
(2)a2=a-a1
(3)a3=a2+a
a是原来的赋值
2、以此计算原来的(1)(2)(3)式
结果为2a-a²
拓展资料:
C语言中计算或者赋值式是从右往左进行计算,但是计算具有一定的优先级,以下是对优先级的分类:
1、最高级
出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。
( )圆括号
[ ]下标运算符号
->指向结构体成员运算符
.结构体成员运算符
2、第二级
!、~、++、--、-、(类型)、*、&、sizeof。
这一级都是单目运算符号,这一级的结合方向是从右向左。
比如出现*p++,这时*和++同级别,先算右边,再左边。
所以*p++等价于*(p++),而不是(*p)++。
3、第*
+、-、*、/、%
这一级都是算术运算符,结合顺序和数学学习中一致的,先乘除取余数,后加减。
4、第四级
<<、>>
这是左移、右移运算符,位运算时可能需要用到。
5、第五级
<、<=、>、>=、!=、==
这些运算符也称为关系运算符,其中<、<=、>、>=高于!=、==。
6、第六级
&、^、|
这三个符号也是位运算符号,其中内优先级,&>^>|。
7、第七级
&&、||
逻辑与&&优先级大于逻辑或||。
8、第八级
? :
也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。
9、第九级
=、+=、-+、*=、/=、%=
这些运算符也叫做赋值运算符,除此之外,>>=、<<=、&=、^=、|=这些赋值运算符也在这一级别内,结合顺序是从右往左。
10、最低级
,
逗号运算符也称为顺序求值运算符,在C语言中,运算级别最低。
热心网友
时间:2022-04-01 22:03
主要的区别前两个是电磁感应,第三个是电磁共振。电磁共振效率低但可以实现距离比较远(通常也只是在几米内有实用价值),电磁感应的有效距离则是以感应线圈直径来衡量的,基本等同于必须紧贴上。
同样是电磁感应的PLA和Qi主要区别在于PLA是利用现有的配件在电池上做文章,因此每一部手机都可以通过PLA实现无线充电,而Qi则是直接出场时就集成在手机内部了。
而电磁共振和电磁感应这两种技术的区别其实非常小,可以说电磁共振是一种电磁感应的扩展应用,基本原理是相同的,这两种标准的差异更多的不是在技术层面而是在专利授权的方面。因此A4WP出现的根本因素是因为前二者标准的专利垄断。至于参数,无实验不可能得到,做过实验而得到数据的人他的研究成果也是有版权的不可能无偿提供给公众,既然是专利如果这些东西大家都知道而不用花钱的话A4WP也就根本不会出现了。
热心网友
时间:2022-04-01 23:54
如果你仅仅是求答案,感觉非常失望,我希望在看过答案之后你能够有所思考!其实该问题的关键在于怎样去定义一个阶乘函数,把这个搞清楚了,就解决大问题了,其次是怎样在主函数中调用函数!
#include<iostream.h>
int fac(int n)
{
int s=1;
int i;
for(i=1;i<=n;i++)
s*=i;
cout<<n<<"的阶乘是"<<s<<endl;
return s;
}
void main()
{
int a,b,c,temp;
cin>>a>>b>>c;
fac(a);
fac(b);
fac(c);
temp=fac(a)+fac(b)+fac(c);
cout<<temp<<endl;
热心网友
时间:2022-04-02 02:02
从右往左计算,先算a*=a,意思是a=a*a,这样,a的值被改写,然后计算a-=a,把重新被改写的值代入,a=a-a,a值又被改写,在把改写后的值赋给a,结果为0
热心网友
时间:2022-04-02 04:27
a+=a-=a*a;为连续赋值运算,从右向左计算。
于是原始的表达式等效于:
a-=a*a;
a+=a;
也就是
a=a-a*a;
a=a+a;
例如,a=5;
那么
a=a-a*a=5-5*5=-20;
a=a+a=-20 + (-20) = -40;
最终a为-40,表达式整体值也就是a最终值,一样是-40。
热心网友
时间:2022-04-02 07:08
这里的a赋值10,这个式子从右往左算,先看a=a*,它表示为:a*=a<=>a=a*a=100,a-=a<=>a=a-a=100-100=0,a+=a<=>a=a+a=0+0=0。如此计算,记住要点为a*=b<=>a=a*b。
热心网友
时间:2022-04-02 10:06
a+或a-中变量a和后面的运算符号是两回事,如果运算符号后面不写其他表达式,这是个语法错误的写法。a是变量名+或-是运算符号
热心网友
时间:2022-04-02 13:21
a初值为12时,a+=a-=a*=a结果为0步骤:这个表达式的运算是从右向左的:1. a*=a:a=a*a=12*12=1442. a-=144: a=a-144=144-144=03. a+=0: a=a+0=0+0=0。
热心网友
时间:2022-04-02 16:52
a的初值呢?
a初值为12时,a+=a-=a*=a结果为0
步骤:
这个表达式的运算是从右向左的:
1. a*=a:a=a*a=12*12=144
2. a-=144: a=a-144=144-144=0
3. a+=0: a=a+0=0+0=0。希望对你有帮助。
热心网友
时间:2022-04-02 20:40
是从右向左,做运算,
例如,a初值是,2,
先是,a=a*a,后a=4后在,a=a-a,
后a=0,然后,是,a=a+a,后a=0
这是这个语句的算法过程!
热心网友
时间:2022-04-03 00:45
a的初值呢?
a初值为12时,a+=a-=a*=a结果为0
步骤:
这个表达式的运算是从右向左的:
1. a*=a:a=a*a=12*12=144
2. a-=144: a=a-144=144-144=0
3. a+=0: a=a+0=0+0=0
热心网友
时间:2022-04-03 05:06
结果=0
不管a是多少
因为有这么一段a-=a 不管之前计算出a的值是多少,经过了这一段a就=0了
因为都是自身的计算
热心网友
时间:2022-04-03 09:44
a-=a就是a=a-a的缩写,同理a-=1就是a=a-1的缩写,C语言中还支持a+=1就是a=a+1、a/=1就是a=a/1、a*=1就是a=a*1,不明白的请补充问题
热心网友
时间:2022-04-03 14:39
赋值运算符的一种
等效于a=a-a
又例如a-=b
等效于a=a-b