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