阿for与缺少中间表达式循环是一个无限循环.
从C标准的 6.8.5.3节:
1声明
Run Code Online (Sandbox Code Playgroud)for ( clause-1 ; expression-2 ; expression-3 ) statement行为如下:表达式expression-2是在每次执行循环体之前计算的控制表达式.在每次执行循环体之后,表达式-3被评估为void表达式.如果clause-1是一个声明,它声明的任何标识符的范围是声明的剩余部分和整个循环,包括其他两个表达式; 它是在控制表达式的第一次评估之前按执行顺序到达的.如果clause-1是表达式,则在第一次控制表达式求值之前将其计算为void表达式.
2可以省略clause-1和expression-3.省略的表达式-2由非零常量替换.
因为缺少的"expression-2"被替换为非零常量,并且因为非零值的计算结果为true,所以这会给你一个无限循环.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |