【发布时间】:2025-11-28 09:20:05
【问题描述】:
我希望我的程序提示用户他们想写多少个句子,然后输入这些句子。但是,当我尝试输入句子时,我不断收到错误。我尝试使用几种不同的功能,但它们都给出了某种错误。例如,现在我正在尝试使用 fgets() 并且在我输入第一句话后它给了我一个分段错误。有人可以告诉我输入带空格的字符串的最佳方法是什么以及如何解决我的问题?
int n;
char str[n][80];
printf("Enter number of lines: ");
scanf("%d", &n);
printf("Enter a sentecne: ");
for(int i = 0; i < n; i++){
fgets(str[i], 80, stdin);
printf("%s", str[i]);
}
【问题讨论】:
-
你定义了一个带有未初始化变量的 char 数组。
-
不测试 scanf 和 fgets 的返回值是自找麻烦。
标签: c string multidimensional-array scanf