C语言中怎样把输入的字符串赋给数组

要求要从0到10之间输入一个数x,然后就要从键盘输入x个字符串分别赋给x个数组例如我输入了3,就要有3个字符数组;输入5,就要有5个字符数组.....

//基本实现你要的功能,用到了内存的动态开辟#include <stdio.h>
#include <stdlib.h>
void main()
{
char** pArrStr;//用来保存字符串数组
int strLen;//用来保存字符串长度
int i; printf("请输入字符数组的个数:");
scanf("%d",&strLen);
pArrStr=(char**)malloc(sizeof(char*)*strLen);//动态开辟N个char*指针,然后给pArrStr保存 for(i=0;i<strLen;i++)
{
pArrStr[i]=(char*)malloc(255);

} printf("请依次输入%d个字符串:",strLen);
for(i=0;i<strLen;i++)
{
scanf("%s",pArrStr[i]);
}
printf("输出:");
for(i=0;i<strLen;i++)
{
printf("%s\n",pArrStr[i]);
}}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-06
额!这个用到指针数组 char *str[10],*p;
int k;
p=*str;printf("please enter number:");
scanf("%d",&k);for(int i=0;i<k;i++)gets(p+i);
第2个回答  2014-01-06
char str[20];str=gets();