阅读(2386)
赞(0)
C 自增自减运算符
2017-01-10 21:39:19 更新
学习C - C自增自减运算符
自增运算符(++)和自减运算符(--)将存储在整数变量中的值自增或自减1。
int number = 6;
您可以使用以下语句将其自增1:
++number; // Increase the value by 1
执行此语句后,数字将包含值7。
同样,您可以使用以下语句将数值减1:
--number; // Decrease the value by 1
这些自增和自减运算符都是一元运算符,这意味着它们只与一个操作数一起使用。
它们将int值增加或减少1。
如果在表达式中写入count ++,则在使用该值之后会发生count的递增。
想象一下你的操作如下
num = num + 1;
你可以简单的用这个语法 ++
。
num++;
对于这种情况使用相同的方法
num = num - 1;
你可以使用 -- 语法。
num--;
#include <stdio.h>
int main(void)
{
int ultra = 0, super = 0;
while (super < 5)
{
super++;
++ultra;
printf("super = %d, ultra = %d \n", super, ultra);
}
return 0;
}
上面的代码生成以下结果。
![](https://www.programbbs.com/pic/c/DESCRIPTION__FA1611FC9A351E11459A.png)
例子
现在如何在代码中实现它们。让我们写这段代码。
#include <stdio.h>
int main() {
int a = 10;
a++;
printf("%d \n",a);
a++;
printf("%d \n",a);
++a;
printf("%d \n",a);
a--;
printf("%d \n",a);
a--;
printf("%d \n",a);
--a;
printf("%d \n",a);
return 0;
}
上面的代码生成以下结果。
![](https://www.programbbs.com/pic/c/EXAMPLE__80C56F9DB2604EAB37ED.png)
注意
您可以将自增运算符放在变量的右侧,如下所示。
x++;
此表达式表示C使用变量x的当前值并将其自增1。
变量的原始值为0,1为0,结果为1。
使用自增运算符的另一种方法是将其放置在变量的前面或左侧,如下所示。
++x;
对变量相对于变量自增运算符的位置(后缀与前缀)在求值时会产生不同的结果。
当自增运算符放置在变量的左侧时,它会在变量的另一个表达式使用之前首先将变量的内容自增1。
#include <stdio.h>
int main()
{
int x = 0;
int y = 0;
printf("\nThe value of y is %d\n", y++);
printf("\nThe value of x is %d\n", ++x);
return 0;
}
在上面的第一个printf()函数中,C首先处理了printf()的输出,然后增加了变量y。
在第二个语句中,C先增加x变量,然后处理printf()函数,从而显示变量的新值。
上面的代码生成以下结果。
![](https://www.programbbs.com/pic/c/NOTE__84C84D19B9C0AD134109.png)
注意2
以下程序进一步演示了自增运算符的放置。
#include <stdio.h>
int main()
{
int x = 0;
int y = 1;
x = y++ * 2; //increments x after the assignment
printf("\nThe value of x is: %d\n", x);
x = 0;
y = 1;
x = ++y * 2; //increments x before the assignment
printf("The value of x is: %d\n", x);
return 0;
} //end main function
上面的程序将产生以下输出。
![](https://www.programbbs.com/pic/c/NOTE_2__E2040BB3A1C8E3349690.png)
-- 运算符
-- 运算符类似于自增运算符(++),而不是自增基于数字的变量,它将它们自减1。
自减运算符可以放在变量的两侧(前缀和后缀),如下所示。
--x; x--;
下一个代码块以两种方式使用自减算子来演示基于数字的变量如何自减1。
#include <stdio.h>
main()
{
int x = 1;
int y = 1;
x = y-- * 4;
printf("\nThe value of x is %d\n", x);
y = 1; //reset variable value for demonstration purposes
x = --y * 4;
printf("\nThe value of x is now %d\n", x);
}
上面的代码生成以下结果。
![](https://www.programbbs.com/pic/c/OPERATOR__082D70D62E0B46774BA4.png)