Kite_Xu 2022-04-18 11:42 采纳率: 100%
浏览 218
已结题

关于循环中的!finished

看C语言的视频,其中一个关于!finished的案例看不明白,这是我自己写的简化版

#include <stdio.h>
int main() {
int finished = 0;
do{
printf("0\n"); // 值为0
if(!finished) { // ??
printf("1\n");
}
finished = 2; // 值改为2
printf("%d\n", finished);
} while(!finished); // 结束循环
}

如果不改值,会循环输出010101……

按我的理解,原本的值是0,!finished就是非0的意思,为什么会在 if 语句中输出呢?

  • 写回答

4条回答 默认 最新

  • 刘日政 2022-04-18 11:52
    关注

    int finished = 0;
    if(!finished)
    while(!finished)
    0为假,不执行,如果要执行就得加入!
    判断之分真和假,不分数字大小的。0就是为假

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画