- goto模拟do{ }while循环
int _tmain(int argc, _TCHAR* argv[])
{
// while (n<=100)
// {
// nSum += n;
// n++;
// }
int n = 0;
int nSum = 0;
NEXT:
if (n<=100)
{
nSum += n;
n++;
goto NEXT;
}
printf("nSum=%d\r\n",nSum);
system("pause");
return 0;
}
- goto模拟while循环
int _tmain(int argc, _TCHAR* argv[]) { // do // { // nSum += n; // n++; // } while (n<=100); int n = 0; int nSum = 0; NEXT: if (n >= 100)//高级语法是条件满足执行,机器语言是条件满足不执行转移流程,正常情况按序向下跑(do while除外) { goto END; } n++; goto NEXT; END: printf("nSum=%d\r\n",nSum); system("pause"); return 0; }
goto模拟for循环
int _tmain(int argc, _TCHAR* argv[]) { int nSum = 0; //LOOP_INIT: int n = 0; goto LOOP_CMP; LOOP_STEP: n++; //自增在判断上面 LOOP_CMP: if (n>=100)//高级语法是条件满足执行,机器语言是条件满足不执行转移流程,正常情况按序向下跑(do while除外) { goto LOOP_END; } nSum += n; goto LOOP_STEP; LOOP_END: printf("nSum=%d\r\n",nSum); return 0; }
ps:第一次发帖做成长记录,如果有不对的地方还请指正,谢谢