ard*_*ent 96
你可以使用c[i]= '\0'或简单地使用c[i] = (char) 0.
null/empty char只是一个零值,但也可以表示为带有转义零的字符.
occ*_*lus 24
你不能在角色中存储"无人物" - 这没有意义.
作为替代方案,您可以存储具有特殊含义的字符'\0'- 例如null char - 并特别对待它.
是的,c[i]=''不是有效的代码.我们括号之间的字符常量' ',例如c[i] = 'A';char A.但你不要在其间写任何字符''.
空的空间只不过是假设你想分配空间然后做:
c[i] = ' ';
// ^ space
Run Code Online (Sandbox Code Playgroud)
如果想分配nul char那么做:
c[i] = '\0';
// ^ null symbol
Run Code Online (Sandbox Code Playgroud)
示例:如果您有一个字符串,假设 c[]一个字符串(nul \0终止了char数组).例如:
char c[10] = {'a', '2', 'c', '\0'};
Run Code Online (Sandbox Code Playgroud)
并用空格替换第二个字符:
c[1] = ' ';
Run Code Online (Sandbox Code Playgroud)
如果您使用printf打印它,如下所示:
printf("\n c: %s", c);
Run Code Online (Sandbox Code Playgroud)
然后输出将是:
c: a c
// ^ space printed
Run Code Online (Sandbox Code Playgroud)
然后用'\ 0'替换第二个字符:
c[1] = '\0';
Run Code Online (Sandbox Code Playgroud)
然后输出将是:
c: a
Run Code Online (Sandbox Code Playgroud)
因为字符串终止了\0.
没有“空字符”之类的东西''。
如果需要空格字符,则可以将其表示为空格:c[i] = ' '或与ASCII八进制等效项:c[i] = '\040'。如果您需要一个NUL字符,则为c[i] = '\0'。