c语言i+=i和i=+i的区别
时间: 2024-05-18 22:16:03 浏览: 8
在C语言中,i += i 和 i =+ i 表示的含义是不同的。
i += i 是一个复合赋值运算符,等同于 i = i + i,即将i的值乘以2,并将结果赋值给i本身。这是一种常用的简写形式,可以使代码更加简洁明了。
而 i =+ i 不是一个有效的赋值运算符,它实际上等同于 i = +i,即将i的正值赋值给i本身。这种写法很容易让人产生误解,因此应该避免使用。
因此,总的来说,i += i 意义明确,使用广泛,而 i =+ i 是无效的赋值运算符,应该避免使用。
相关问题
C语言i++和++i区别
C语言中的i++和++i是有区别的。
1. i++是后缀自增运算符,先使用i的值,然后再将i的值加1。
```c
int i = 5;
printf("%d\n", i++); // 输出:5
printf("%d\n", i); // 输出:6
```
2. ++i是前缀自增运算符,先将i的值加1,然后再使用i的值。
```c
int i = 5;
printf("%d\n", ++i); // 输出:6
printf("%d\n", i); // 输出:6
```
所以,i++和++i的区别在于它们的运算顺序不同。
c语言中++i和i++区别
在C语言中,++i和i++都是对变量i进行自增1操作,但是它们的执行顺序不同。
++i是先将变量i自增1,然后再使用i的值。例如:
```
int i = 1;
int j = ++i; // i先自增1,然后j被赋值为2
```
i++是先使用变量i的值,然后再将i自增1。例如:
```
int i = 1;
int j = i++; // j被赋值为1,然后i再自增1
```
因此,++i和i++的区别在于它们的执行顺序,这可能会导致在一些情况下产生不同的结果。