`
#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("")因此,在此语句中,左侧条件为真,因此不计算右侧条件
发布于 2021-05-14 13:16:49
查看printf()的参考资料,我们可以看到:
因此,给定i<3 && printf(""),第一次i为0,因此i<3为true,然后printf("")打印零个字符,返回0,这是false,因此表达式变为true && false,因此为false,因此循环终止。
https://stackoverflow.com/questions/67529302
复制相似问题