C语言中i++和++i在循环中的差异性

前言

今天刷题时遇到的,浅浅记录一下(可能就我不知道)。C语言中i++和++i都表示自增,不同的是++i是先增加再赋值,而i++是先赋值在增加。我觉得有和我一样的初学者,在之前一直有疑问:它们两个都差不多,那到底什么时候用i++,什么时候用++i?今天才了解到原来i++和++i在循环中的判断机制也不一样。

FOR循环

for循环中i++和++i是一样的,都是先判断再相加。


	for (int i = 0; i < 5; i++)
	{
		cout << i << " ";
	}

	for (int i = 0; i < 5; ++i)
	{
		cout << i << " ";
	}

输出结果是一样的。

while循环

在while循环中,i++和++i就不一样了:i++是先判断再增加再进入循环体:

	int i = -5;
	while (i++ < 0)
	{
		cout << i << " ";
	}

如上代码中,先判断i == -5满足小于零,再自增 i = i + 1,最后进循环;

而++i则是先增加再判断再进入循环体:

	i = -5;
    while (++i < 0)
	{
		cout << i << " ";
	}

 如上代码中,先自增 i = i + 1,再判断 i == -4 满足小于零,最后进循环;

测试结果如下:

 do-while循环  

在do-while循环中和while循环中的i++和++i是一样的,只不过do-while先执行了一次循环体:

    cout << "do-while循环i++:";
	i = -5;
	do
	{
		cout << i << " ";
	} while (i++ < 0);


	cout << "do-while循环++i:";
	i = -5;
	do
	{
		cout << i << " ";
	} while (++i < 0);

猜你喜欢

转载自blog.csdn.net/ZER00000001/article/details/126110392