C for,while,do while 代码实现

这里用go to 来模拟汇编他们的区别

while 代码

    int i = 0;
    while (i < 100)
    {
        i++;
    }

goto 实现while

    int i = 0;
    WHILE_BEGIN:
    if (i < 100)
    {
        goto WHILE_END;
    }
    i++;
    goto WHILE_BEGIN;
    WHILE_END:
    
    return 0;    

do while

    int i = 0;
    do
    {
        i++;
    } while (i <100);

goto 实现do while

WHILE_BEGIN:
    i++;
    if (i < 100)
    {
        goto WHILE_BEGIN;
    }

for循环

    for (int i = 0; i < 100; i++)
    {

    }

goto 实现for

FOR_INIT:
    int i = 0;
    goto FOR_CMP;
FOR_STEP:
    i++;
FOR_CMP:
    if (i > 100)
    {
        goto FOR_END;
    }
    goto FOR_STEP;
FOR_END:

可以看到for实现是最为麻烦的 只有do while 效率最高  简单点说就是 用的越舒服编译器要实现的东西就越多

 

上一篇:break&continue


下一篇:break continue goto