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

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日