1
char word[5]={"fayed"};

word[1]=NUL;

printf("%s",word);

它显示错误......并且NUL未声明。

4

2 回答 2

3

不,没有称为 的标准标识符NUL。如果要对字符串进行空终止,请使用0'\0'

为了完整起见,值得注意的是空指针拼写为NULL。请参阅如果NULL0等价于空指针常量,我应该使用哪个?

于 2015-01-24T11:15:44.030 回答
3

您指的是NUL,即 ASCII 字符。

C 标准不要求对字符进行 ASCII 编码,但它确实使用字符值 0 来终止字符串(NUL 在 ASCII 中的一种常见含义)。

只需使用0

word[1]=0;

并确保不要将其与字符混淆'0'

于 2015-01-24T11:24:02.897 回答