gpt4 book ai didi

c++ - C++中空字符串包含什么

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:07 27 4
gpt4 key购买 nike

以下代码

#include <stdio.h>
int main( int argc, char** argv )
{
const char *s = "";
if (s == '\0') {
int x = 0;
}
return 0;
}

它不会进入循环。为什么 ? ,

最佳答案

您已将 s 定义为指向 char 的指针。碰巧的是,'\0' 是一个值为 0 的整数常量表达式——空指针常量的定义。

IOW,您所做的相当于 if (s == NULL)。由于 s 实际上指向一个字符串文字,它不是一个空指针,所以比较是错误的。

我猜你的意图是 if (*s == '\0') ...,它应该比较为真。

关于c++ - C++中空字符串包含什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555963/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com