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()的正确用法。阅读文档。

10-04 18:14