烫手的热山药 2021-10-19 19:29 采纳率: 77.8%
浏览 16
已结题

C++ if 语句传入-1,为什么判断为true??

int access_ret = access("C:\\Users\\zwsj\\Desktop\\bb.png", F_OK);
if(access_ret)//access_ret==-1
{
    printf("abc");
}
else
{
    printf("bcd");
}

上述代码中,"C:\Users\zwsj\Desktop\bb.png" 该文件不存在,access_ret = -1;
if语句中进入了第一个分支 ,打印abc。
为什么 -1 会判断为true呢??

  • 写回答

2条回答 默认 最新

  • wufenxia 2021-10-19 19:33
    关注

    非零即为真

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

报告相同问题?

问题事件

  • 系统已结题 2月2日
  • 已采纳回答 1月25日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 qt 转 msvc 后 Opencv 始终打不开视频!
  • ¥15 yolo v5中labelimg的作用
  • ¥30 VBA网抓application/json的网抓怎么写!
  • ¥15 国赛c题2021,没有理解这一串代码的意思,这样报错该怎么解决(语言-matlab)
  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题
  • ¥15 mysql中时间处理问题
  • ¥20 讲解此音频放大电路原理及关键部分
  • ¥15 rtsp 转 m3u8 执行后卡在Decoding VUI