我知道字符串文字存儲在只讀存儲器中,因此您無法更新它們。但是strlen()函數有什麼問題,如果我在程序中初始化char * s,它會起作用。即當從用戶處獲取字符串並使用strlen()查找其長度時,分段錯誤(核心轉儲)
char *s="hey";
length=strlen(s);
printf("%d\n",length);// this works
,並從用戶
char *s;
int length;
scanf("%s",s);
length=strlen(s);
printf("%d\n",length); //this doesn't. gives segmentation fault
'的scanf( 「%S」,S);'調用未定義行爲,這意味着任何事情都有可能發生。 –