橘子星X 2025-03-19 13:16 采纳率: 53.3%
浏览 23
已结题

while括号里面能是输出语句吗这个语句相当于什么?

int t=0;
while(printf("*")){
t++;
if(t>3) break;
}
这个循环控制表达式对吗,与什么等价呀为什么啊

  • 写回答

5条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-03-19 13:16
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    这个循环控制表达式不是一个标准的形式,因为printf函数会返回打印的字符数(包括换行符),因此在这种情况下,循环控制表达式不是一个布尔值,而是一个整数。 该循环控制表达式与 t > 3 等价。因为每次 printf 函数执行都会打印一个星号字符,所以 t 的值会递增,直到 t 大于 3 时跳出循环。因此,循环会一直打印星号,直到 t 大于 3。 下面是一个实现相同功能的代码段:
    int t = 0;
    while(1){
        int num = printf("*");
        if(num <= 0){
            break;
        }
        t++;
        if(t > 3){
            break;
        }
    }
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月6日
  • 创建了问题 3月19日