【发布时间】:2020-10-17 23:39:23
【问题描述】:
我认为每个字符串数组都以 NULL 字符结尾,但是在这个程序中,检查字符串数组的最后一个字符是否为真的语句
#include <stdlib.h>
#include <stdio.h>
int main() {
char hey[5]="hello";
if(hey[5] == NULL){
puts("Yes the last charcter is a NULL ");
}
return 0;
}
如果 NULL 是 \0 为什么当我尝试 if (NULL == "\0") 语句总是 False ?
【问题讨论】:
-
此问题已因错误原因关闭!问题是
hey数组不够长(“hello”需要一个至少包含六个元素的数组)。 -
BTW
NULL == '\0'在大多数 C 实现中 -
@AdrianMole 它因正确原因而关闭,即它是重复的。
-
@AnttiHaapala 好的,现在我可以看到 all 重复项的列表,我同意。乍一看,它们并不都在那里。
-
@OussemaNehdi 请阅读this QA 我将此问题标记为重复。