为什么#后面不加=,而要加一个空格?
发布网友
发布时间:2023-12-05 18:39
我来回答
共1个回答
热心网友
时间:2024-01-01 01:45
这是C语言里常用的复合赋值运算,下面解释一下。
1.C
语言中的基本赋值运算
首先讲解一下C语言中的基本赋值运算,其运算符为“=”,这里不是等于,而是赋值。举例如下所示:
图中,定义了三个变量a,b,c,分别把1赋值给变量a,把2赋值给变量b,把求和表达式a+b赋值给变量c。
2.复合赋值运算符
复合赋值运算符常见的符号有:+=、-=、*=、/=、%=,有两方面的含义,首先做数学计算,而后再赋值。
从图上可以看出,运算符两边的变量先做左边的数*算,然后将结果赋值给左边的变量。这样的写法简化了C语言的代码,结构上看起来比较清爽,提升代码效率。
举例如下:
执行完a += 1后,a = 2;
执行完b -= a+5后,b=b-(a+5)=-5;
执行完c *= a-4后,c=c*(a-4)=-6;
c语言里有很多需要理解的符号,它跟数学符号很有关系,但有些又是区分于数学符号,比如“=”在数学上是等于的意思,所以a=1,我们读作a等于1,可是如果在c语言里,“=”是赋值的意思,a=1是指把1赋值给a,而a==1才读作a等于1。
所以我首先要弄清楚基本的运算符号如+,-,/,*,%,&,!=等的意思,至于乘法运算,c语言里没有×这个符号,而是用了*,对于除法,没有÷这个符号,用了/,例如5*3就是15,6/3就是2
像a=a+1,就是把a+1赋值给了a,我们可以简便写法那就是a+=1.
同理a-=1其实就是a=a-1.
a/=5就是a=a/5,a*=6就是a=a*6。
例如a=20,a*=6,那么结果就是a=120
例如a=30,a/=6,那么结果就是a=5
希望能解决到你的问题
这是C语言里的简化写法(也叫复合运算符)
即可将
加+ 减- 乘* 除/ 求余数%
五种运算符的表达式
a=a#x
表示为
a#=x
其中#表示五种运算符,x表示变量或某个值
其实++,--也是哦