为什么不能在 for 循环中使用 fget 以正确的方式获取 char[][] 的值


#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[10][50];
for(int i=0;i<10;i++)
fgets(str[i],50,stdin);//some runtime error occurs and execution stops completely
for(int i=0;i<10;i++)
printf("str[%d]=%sn",i,str[i]);
return 0;
}

我想以str[0]="hello world"str[1]="good answer"的形式提供输入,直到str[9]但我无法使用下面的for()循环提供输入

好吧,您正在循环for()c 程序中执行动态声明,这在 C 编程语言中是不允许的,但在C++中是允许的。

#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[10][50];
int i;
for(i=0;i<10;i++)
fgets(str[i],50,stdin); 
for(i=0;i<10;i++)
printf("str[%d]=%sn",i,str[i]);
system("pause");
return 0;
}

这个程序工作得很好。

相关内容

最新更新