Possible Duplicate:
What’s wrong with strcpy()? (Segmentation fault)
以下代码正常工作(当我输入“ abcde”时,产量为“ 5”):
char* tekst;
scanf("%s", tekst);
int n=strlen(tekst);
printf("%d", n);
但是以下内容:
char* tekst;
scanf("%s", &tekst);
int n=strlen(tekst);
while(n--)
{
printf("%d", n);
}
输入的任何字符串都会产生运行时错误。问题是什么?
最佳答案
char *tekst;
scanf("%s", &tekst);
是错的。你宁愿做
char tekst[100];
scanf("%s", tekst);
代替。嗯,您也不应该这样做(因为它不安全),但是至少这是
scanf()
的正确用法。阅读文档。