0

`

#include <stdio.h>
int main ()
{
    int i=0;
    for(printf("one\n");i<3 && printf("");i++)
    {
        printf("Hi!\n");
    }
    return 0;
}

`

**正如我们已经知道“逻辑和运算符(&&)的短路条件,而我们解决for循环的条件使用的概念只是一个逻辑运算符根据短路概念,for i=0 i<3 条件为真 && printf( "") 所以在这个语句中,左边部分为真,因此,右边的条件不被评估

4

1 回答 1

0

看一个参考,printf()我们看到:

  • 成功时,返回写入的字符总数。

因此,给定i<3 && printf(""),第一次回合i为 0,所以i<3为真,然后printf("")打印零个字符,返回 0,即为假,所以表达式变为true && false,因此false,循环终止。

于 2021-05-14T05:16:48.600 回答