c语言中函数里面怎么输入字符串数组

就是我在主函数外定义一个函数然后在这个函数里面我定义了一个字符串数组,然后我想用gets输入它;就是这样它不让我输入字符串数组#include<string.h>intm... 就是我在主函数外定义一个函数然后在这个函数里面我定义了一个字符串数组,然后我想用gets输入它;就是这样它不让我输入字符串数组
#include<string.h>
int main()
{
void a(int a);
int c=1;
scanf("%d",&c);
a(c);
printf("%d",c);
}
void a(int a)
{
int i;
char asd[123];
if (a==1)
{
gets(asd);
for(i=0;i<=9;i++)
{
printf("%d\n",asd[i]);
}
}
return 0;
}

跪求大神罩
展开
 我来答
风若远去何人留
2015-10-16 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
char str[10][100]; //定义字符串数组,供10行,每行最多100个字节数据。
int i;

for(i = 0; i < 10; i ++)
scanf("%s",str[i]);//输入10行字符串数据。
nlk520zh
2013-12-27 · TA获得超过729个赞
知道小有建树答主
回答量:414
采纳率:100%
帮助的人:445万
展开全部
scanf("%d",&c);//这里输入后缓冲区中除了你输入的数字还有'\n'也就是回车,等你调用gets的时候程序把缓冲区中的回车给取走了,认为你输入的就是回车,所以不会提示你再输入了。
这句后面加句getchar();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
share_fun1
2013-12-27 · TA获得超过610个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:367万
展开全部
void a(int a)
{
int i;
char asd[10][123];
if (a<10)
{
for(i=0;i<a;i++)
{gets(asd);
for(j=0;asd[i][j]!='\0';j++)
{
printf("%c\n",asd[i][j]);
}
}
return 0;
}

大概猜测了一下你的意思写了一下代码


谢谢采纳

更多追问追答
追问
不,那个函数是我随手编的函数,主要是想知道为什么不能打gets出原问题是这样的
void qy()
{
char *p[9999];
int e_s(int x);
int b_s(int x);
int sl_s(char ch[9999]);
int s_e(int x);
int s_b(int x);
void s_sl(int *x);
追答
你那样定义只是一个数组,或者说一个一个字串。字符串数组应该是一个二维数组
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式