我不清楚我的程序有什么问题,它是一个简单的代码来打开文件,读取第一行,然后打印它。但程序不断崩溃。我的文本文件的实际内容是一个句子:测试我的代码。无法打印字符*字符串
int main(void)
{
FILE *stream;
char *s;
stream = fopen("input.txt", "r");
fscanf(stream, " %s", &s);
printf("%s", s);
fclose(stream);
return 0;
}
我告知不要使用<string.h>
1.你不检查'fopen'的结果。 2.'s'是一个未初始化的指针 - 数据在哪里出现? – John3136
'char s [16]; fgets(s,sizeof s,stream);'而不是'char * s; ... fscanf(stream,“%s”,&s);' – BLUEPIXY
如果你使用GCC,总是用'gcc -Wall -Werror' 。 –