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