C中的自增运算符 、自减运算符

自增与自减运算符只能作用于变量,类似于表达式(i + j)++ 是非法的。

试了下float类型用自增运算符也可以。

 

例子:之前错了,还会错吗??不会了!!

void main(){

int count ,sum;

count = 0;

sum = 0;

 

while(count ++ <20){

sum +=count;

}

printf("%d",sum);

}

 

结果:1+2+3+。。。+20

之前以为是:0 +1 +2 + 。。 。+19

 

第一次执行循环体时候

count ++ ;  

while( 0 < 20) { sum +=1 ;}

先赋值,再使用。只要以后不出现该变量时,则还是进行自增运算之前的那个值。

 

count++ <20;的意思---“如果count < 20 则执行 count +1的操作,如果循环体内再次出现count,则用自增运算后的结果代入”

C语言中的运算符(`++`)和自减运算符(`--`)都是单目运算符,结合方向是从右向左,它们是为 “i = i + 1” 和 “i = i - 1” 这两种常用操作提供的更简洁表达方式[^2]。二者的区别主要体现在以下方面: ### 功能差异 - **自运算符**:用于将变量的值加1,有前置自(`++变量名`)和后置自(`变量名++`)两种形式。前置自先将变量的值加1,然后使用变量更新后的值;后置自先使用变量当前的值,之后再将变量的值加1。示例代码如下: ```c #include <stdio.h> int main() { int a = 5; int b; // 前置自 b = ++a; printf("前置自:a = %d, b = %d\n", a, b); a = 5; // 重置a的值 // 后置自 b = a++; printf("后置自:a = %d, b = %d\n", a, b); return 0; } ``` - **自减运算符**:用于将变量的值减1,同样有前置自减(`--变量名`)和后置自减(`变量名--`)两种形式。前置自减先将变量的值减1,然后使用变量更新后的值;后置自减先使用变量当前的值,之后再将变量的值减1。示例代码如下: ```c #include <stdio.h> int main() { int a = 5; int b; // 前置自减 b = --a; printf("前置自减:a = %d, b = %d\n", a, b); a = 5; // 重置a的值 // 后置自减 b = a--; printf("后置自减:a = %d, b = %d\n", a, b); return 0; } ``` ### 在复杂表达式中的运算逻辑差异 在包含自和自减运算符的复杂表达式中,二者对变量值的改变方向不同。自运算符使变量值大,自减运算符使变量值减小。例如在逻辑表达式中,它们会影响最终的运算结果和逻辑走向。如下面的代码: ```c #include <stdio.h> int main() { int x = 2, y = 2, z = 0, a; a = ++x || --y && z++; printf("x = %d, y = %d, z = %d\n", x, y, z); return 0; } ``` 在这个例子中,`++x` 使 `x` 的值变为3,由于逻辑或 `||` 的短路特性,`--y` 不会执行,`y` 的值保持为2,`z++` 也不会执行,`z` 的值保持为0。如果将 `++x` 换成 `--x`,逻辑和结果可能会不同。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值