4-8.goto语句与深层循环

  1. goto语句作用
  • 跳出深层循环(嵌套的循环)
  • 实现循环(与汇编的实现方式类似)
  1. 跳出深层循环实现
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{	//为了理解goto语句,我们解决下面一个问题为例
	/*
	一个数列:
			1  2  3  4
			5  6  7  8
			9 10 11 12
	 如果只想输出1,2,5,6,9,10,
	*/
	/*************************双层循环*************************/
	int intArray[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
	//计算二维数组的行、列的方法
	int colSize = sizeof(intArray[0]) / sizeof(int);
	int rowSize = sizeof(intArray) / sizeof(int) / colSize;
	cout << "行:"<<colSize << endl;
	cout << "列:" << rowSize << endl;
	//对第一层进行循环
	for (int i = 0; i < rowSize; i++)
	{
		//对第二层进行循环
		for (int j = 0; j < colSize; j++) 
		{
			if (j == 2)
			{
				goto label;
				//此时break同样的效果,但是break只能跳出当前循环,goto可以跳到任意位置
				//label就是一个标签,任意给定,但是需要满足标识符命名规则
			}
			cout << intArray[i][j] <<" ";
		}
		label://label定义
		cout << endl ;
	}
	return 0;
}
  1. 实现循环(一般情况下不建议使用)

如果在汇编中实现循环,只能用跳转语句

下面我们来使用goto语句来实现循环

	int i = 0;
loop:
	cout << i << endl;
	i++;
	if (i < 10) 
	{
		goto loop;
	}
  1. 如何在VS2015中查看程序的汇编语言

请点击

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章