C 在不忽略空格的情况下扫描具有大小限制的字符串
我在将字符串扫描到每个字符串最大长度为256的矩阵中时遇到问题 它试过了,但没用,有人有办法吗C 在不忽略空格的情况下扫描具有大小限制的字符串,c,string,scanf,C,String,Scanf,我在将字符串扫描到每个字符串最大长度为256的矩阵中时遇到问题 它试过了,但没用,有人有办法吗 #include<stdio.h> #include<string.h> void main() { char* song[5][256]; for (int i = 0; i < 5; i++) scanf("%255[^\n]s", song[i]); } #包括 #包括 void main() { char*s
#include<stdio.h>
#include<string.h>
void main()
{
char* song[5][256];
for (int i = 0; i < 5; i++)
scanf("%255[^\n]s", song[i]);
}
#包括
#包括
void main()
{
char*song[5][256];
对于(int i=0;i<5;i++)
scanf(“%255[^\n]s”,宋[i]);
}
欢迎来到stackoverflow,
首先,我不确定您为什么要使用char*song[5][256],但您可以通过使用二维数组(即char-song[5][256])来实现所需的输出。此外,我还确定对类似矩阵的数组使用scanf函数总是会带来麻烦
#include<stdio.h>
int main()
{
char s[5][256];
for(int i=0;i<5;i++)
{
for(int j=0;j<256;j++)
{ char c=getchar();
if(c=='\n'||c== EOF)
{
s[i][j]='\0';
printf("\n");
break;
}
if(j<255)
s[i][j]=c;
if(j==255)
s[i][j]='\0';
}
printf("the given string %d is:%s \n",i+1,s[i]);
}
return 0;
}
#包括
int main()
{
chars[5][256];
对于(int i=0;ia)char*song[5][256];
应该是char-song[5][256];
b)%255[^\n]s
应该是%255[^\n]”
(添加空格,删除s)…而void main()
应该是int main(void)
和包括useless@WeatherVane您应该将其作为答案发布。除非对“%[]s”
伟大的代码有一个公共dup!只有一些缩进问题,您应该将char c=getchar();
更改为int c=getchar();if(c==EOF | | c='\n'))
@KamilCuk谢谢,先生。太好了!但是EOF
是int
,而不是char