我对 char* 感到困惑
null-termination
所以我决定对我能找到的案例进行研究。这些字符串文字是否以 null 结尾?
char str1[512]="This is a random string"
char *str2 = strtok(buffer,"\n,")
我找到了答案。 以 null 结尾。fgets(stdin, str3, 512)
scanf("%s",str4)
char str[5];
for(int i=0; i<5; i++) scanf("%c",&str[i]);
注 1:我假设 c 库中所有返回
char*
、null 的标准函数都会终止字符串。编辑:只需向我展示一种确定字符串文字是否以空结尾的方法就足够了。我将详细介绍每个案例,并为未来的读者更新。
这样的例子并不详尽,但它带来了一些清晰的信息。答案其实很简单。任何以 ' ' 结尾的字符数组都称为字符串。程序员独立决定他需要什么。
#include<stdio.h>
int main(void)
{
char w[]="mamamia";
int i;
for(i=0;i<sizeof(w);i++)
{
if(w[i]=='\0')
printf("w[%d]==null\n",i);
else
printf("w[%d]== %c \n",i,w[i]);
}
return 0;
}