我正在尝试用空格打印每行字符串,直到换行。当我尝试在开始时获取2个int输入时,它表示分段错误 “获取2个整数输入”。。。嗯,您从不读取任何整数,只读取字符串(和换行符)。请确保您有适当的include,并注意编译器(最终)生成的任何警告。您可能也要限制s

我正在尝试用空格打印每行字符串,直到换行。当我尝试在开始时获取2个int输入时,它表示分段错误 “获取2个整数输入”。。。嗯,您从不读取任何整数,只读取字符串(和换行符)。请确保您有适当的include,并注意编译器(最终)生成的任何警告。您可能也要限制s,c,C,我正在尝试用空格打印每行字符串,直到换行。当我尝试在开始时获取2个int输入时,它表示分段错误 “获取2个整数输入”。。。嗯,您从不读取任何整数,只读取字符串(和换行符)。请确保您有适当的include,并注意编译器(最终)生成的任何警告。您可能也要限制scanf:scanf(“%99[^\n]]*c”,str[i])虽然这会在输入大于99个字符时引发其他问题。。。也许最好切换到fgets()?当我输入一些字符串和“end”时,它会工作,如果它在输入包含“end”之前到达EOF,它就会崩溃。您可

我正在尝试用空格打印每行字符串,直到换行。当我尝试在开始时获取2个int输入时,它表示分段错误
“获取2个整数输入”。。。嗯,您从不读取任何整数,只读取字符串(和换行符)。请确保您有适当的include,并注意编译器(最终)生成的任何警告。您可能也要限制scanf:
scanf(“%99[^\n]]*c”,str[i])虽然这会在输入大于99个字符时引发其他问题。。。也许最好切换到
fgets()
?当我输入一些字符串和“end”时,它会工作,如果它在输入包含“end”之前到达EOF,它就会崩溃。您可能需要对该
scanf
进行一些错误检查。是,在开头输入两个int,然后输入一行新的字符串。。
int main()
{
char str[100][100];
int i=0;
while(1){

    scanf("%[^\n]%*c", str[i]);
    
    if(strcmp(str[i],"end")==0) break;
    else{
    i++;
    }
    
        
}
for(int j=0;j<i;j++)
    printf("%s\n", str[j]);

return 0;
}
    My input is;     
8 6
    adsasda das dasd
               dddd
 asd              sda
  dasdas
end