关注、星标公众号,直达精彩内容
while(1)和for(;;)语法表达
while( 表达式 ){ 语句}
for(表达式1; 表达式2; 表达式3) { 语句}
1.先求解表达式1 2.求解表达式2 若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步; 若其值为假(0),则结束循环,转到第5)步。 3.求解表达式3 4.转回上面第2)步继续执行。 5.循环结束,执行for语句下面的一个语句。
while(1)和for(;;)异同点
验证while(1)和for(;;)差异
// filename: while.cint main(int argc, char const *argv[]){ while(1) {}
return 0;}
// filename: for.cint main(int argc, char const *argv[]){ for(;;) {}
return 0;}
gcc -S -o while.s while.cgcc -S -o for.s for.c
; filename: whiles .file "while.c" .text .globl main .type main, @functionmain:.LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl %edi, -4(%rbp) movq %rsi, -16(%rbp).L2: jmp .L2 .cfi_endproc.LFE0: .size main, .-main .ident "GCC: (GNU) 9.3.0" .section .note.GNU-stack,"",@progbits
; filename: for.s .file "for.c" .text .globl main .type main, @functionmain:.LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl %edi, -4(%rbp) movq %rsi, -16(%rbp).L2: jmp .L2 .cfi_endproc.LFE0: .size main, .-main .ident "GCC: (GNU) 9.3.0" .section .note.GNU-stack,"",@progbits
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
关注我的微信公众号,回复“星球”加入知识星球,有问必答。
点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。