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

分类: 计算机技术
推荐阅读:
Python min()函数 min() 是 Python 的内置函数之一,用于返回给定可迭代对象中的最小值。该函数可以接受多个参数,也可以接受一个可迭代对象作为参数。
MIPS处理器的基本特性和体系结构 MIPS处理器的基本特性和体系结构包括以下方面:
Go语言中预定义常量iota的用法 iota可以被认为是一个可被编译器修改的常量,在每个const关键字出现时被重置为0,在下一个const出现之前,每出现一次iota,其所代表的数字会自增1.
error connecting to db server: no reachable servers解决办法 在使用 mongoexport 进行数据导出时,出现 error connecting to db server: no reachable servers;解决方法如下:
让Linux终端像电影里一样下起数字雨 在Linux系统里,如果你想要实现电影里的数字雨,一条命令即可:
Golang中的布尔(bool)类型 go语言中的布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。