C语言,要输入N个字符串怎么输?

才学不久,我想问一下,
如果我想输入多个字符串怎么输入啊?
就比如for(i=0;i<n;i++)scanf("%d",&a[i]);
这种可以实现整型的输入了,多个,但是,字符串多个要是用这种如何输入啊。我本来想用二维数组,for(i=0;i<n;i++)gets(str[i]);
但是,不好用这种,请教一下,像我说这种,需要输入字符串个数能自己定,注意不是字符个数,这样如何实现?谢谢。
#include<stdio.h>
main()
{
char s[2][10];
for(int i=0;i<2;i++)
gets(s[i]);
for(i=0;i<2;i++)
printf("%s\n",s[i]);
}

这是我刚才写的,调不出来,退了重进的,好用了。可能是我编译的问题。

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineN256//宏定义

intmain()

{

charstrArray[N][256];

char*str[N];

char*temp;

inti,n;

printf("请输入字符串:\n");

for(i=0;i<N;i++)

{

gets(strArray[i]);

if(strcmp(strArray[i],"")==0)//空格串作为字符串输入结束符

{

break;

}

str[i]=strArray[i];

}

扩展资料

C语言输出函数printf

#include<stdio.h>

intmain()

{

inta=12;

floatb=3.1415;

charc='A';

printf("%d\n",a);

printf("o%o\n",a);

printf("0x%x\n",a);

printf("%3.2f\n",b);

printf("%c\n",c);

getchar();

return0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-20
如果要输入N个不包含空格的字符串,可以这样输入:
char s[N][20];
for(i=0;i<N;i++)
scanf("%s",s[i]);

如果要输入N个允许包含空格(以回车结束)的字符串,可以这样输入:
char s[N][100];
for(i=0;i<N;i++)
gets(s[i]);
第2个回答  2019-07-28
如果要输入N个不包含空格的字符串,可以这样输入:
char
s[N][20];
for(i=0;i<N;i++)
scanf("%s",s[i]);
如果要输入N个允许包含空格(以回车结束)的字符串,可以这样输入:
char
s[N][100];
for(i=0;i<N;i++)
gets(s[i]);
第3个回答  2007-11-22
楼上是C++

呵呵 这个用C也简单啊

假设a,b,c三个字符串

char a[100],b[100],c[100];
scanf("%s;%s;%s",a,b,c);
就可以了 不加& 包含头文件<string.h>
输入的时候字符串用英文分号分隔
第4个回答  2007-11-22
可以用指针数组来实现。
比如你的字符串个数有3个:则申明一个char *p[3];
然后只要循环读入就可以了。
for(i=0;i<3;i++)gets(p[i]);