C语言中 i++ 和 ++i 的区别

在C语言中,++ 运算符也叫递增运算符,只需要一个操作数,属于一元运算符;本文将讨论前缀++运算符和后缀++运算符的区别,以及符号优先级的问题;

++运算符

++运算符用于将操作数增1(这里不讨论指针);不管运算符在操作数之前还是之后,其结果是相同的;

#include <stdio.h>

int main(){

	int i = 0, j = 0;
	i++;
	++j;
	printf("i:%d j:%d\n", i, j);

}

运行结果

i:1 j:1

i++ 和 ++i 的区别

前缀++运算符先作用于操作数,再返回值;后缀++运算符先返回值,再作用于操作数;

#include <stdio.h>

int main(){

	int i = 0, j = 0;

	printf("i:%d j:%d\n", ++i, j++);

	printf("i:%d j:%d\n", i, j);

}

运行结果

i:1 j:0
i:1 j:1

符号的优先级

= 运算符的优先级高于后缀++运算符,而前缀++运算符高于=运算符;

#include <stdio.h>

int main(){

	int i = 0, j = 0;
	int n;

	n = i++;
	printf("%d\n", n);

	n = ++j;
	printf("%d\n", n);

}
0
1

代码的第8行,=运算符的优先级高于后缀++运算符,所以先将i值赋予n,再将i增1;

代码的第11行,=运算符的优先级低于前缀++运算符,所以先将j增1,再将j值赋予n.

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/difference-between-iplusplus-and-plusplusi-in-c.html

分类: 计算机技术
推荐阅读:
使用PyInstaller将Python程序打包成EXE文件详细教程 通常我们执行python程序时,需要有Python环境,并要预先安装好需要使用的各个库,这样把程序给他人使用时不太方便;我们可以将python环境以及相应的运行库和程序源代码打包到一个单独的EXE文件中,这样分发程序就变得容易多了,从某种程度上说,还能起到保护程序源码不被泄露的作用。
Python将数转换为带有千位分隔符的形式 在这篇文章中,我们使用Python将一个数转换为带有千位分隔符的形式;
Python tuple元组 tuple(元组)类似于列表,但元组当中的项不能被修改。
配置Nginx实现简单的反盗链 本文通过Nginx的配置指令valid_referers来实现简单的图片和其它类型文件的防盗链。
C语言实现CRC32算法 本文将使用C语言完成CRC32算法的实现;
PySide6 aboutQt()函数详细教程 PySide6.QtWidgets.QApplication类的aboutQt()函数用于显示一个关于Qt的简单消息框;该消息包括应用程序正在使用的Qt版本号;