gpt4 book ai didi

c - 在循环中使用int n = strlen(…)时出现运行时错误

转载 作者:行者123 更新时间:2023-11-30 21:12:08 26 4
gpt4 key购买 nike

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

关于c - 在循环中使用int n = strlen(…)时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12874734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com