小编Ary*_*ola的帖子

为什么if语句将字符数组处理为true?

我尝试了下面给出的代码,发现它实际上打印了“yes”,这意味着在 if 语句中字符数组被视为 true。但我想知道是什么原因。我的意思是它是一个数组,所以它返回了整个“字符串”。或者它返回它的第一个元素“s”,或者它返回它的内存位置,该位置被处理为 true,就像 0 以外的任何值都是 true 一样。

char a[] = "string";
if (a)
{
    printf("yes");
}
Run Code Online (Sandbox Code Playgroud)

c c++

4
推荐指数
2
解决办法
247
查看次数

标签 统计

c ×1

c++ ×1