0
点赞
收藏
分享

微信扫一扫

C++遇到的坑---嵌套for循环

莞尔小迷糊 2022-02-11 阅读 84
#include <iostream>
using namespace std;
int main()
{

    int i = 0, iUp = i + 3;
	int j = 0, jUp = j + 3;
    cout << "iUp =" << iUp << endl << "jUp=" << jUp << endl;
	for (; i < iUp; i++)
	{
		for (; j < jUp; j++)
		{
			cout << "i=" << i << "   " << "j=" << j<<endl;
		}
	}
	return 0;
}


就这段代码 你觉得会输出什么?
----很多朋友可能会说: 这不就是一个简单的嵌套嘛? 有什么好说的。
但你仔细看会发现: 这两个for循环 都没有初始化参数

所以它的运行过程是这样的:

  1. 首先正常进入外层for循环 然后进入内层 由于都 无需初始化 正常运行至 i = 0, j = 3;
  2. 而出了内层for循环后 i = 1 , 此时 由于无需初始化 j = 3 无法进入 内层for循环
  3. 循环结束

避免出现这种问题,就不要写 两个没有第一个参数的for循环嵌套在一起。

举报

相关推荐

C# 嵌套循环

C语言循环嵌套练习

for循环的嵌套

C++的for循环

for循环嵌套

0 条评论