用c语言将一维字符数组转换为二维字符数组,急,来个高手秒
要求:注意:每个单词长度不等,句子数量不定,可以用指针,也可以不用。例如数组一:Iamaboy.Iamreading.其二维数组的存储为形式:Iamaboy.Iamrea...
要求:
注意:每个单词长度不等,句子数量不定,可以用指针,也可以不用。
例如数组一:I am a boy.I am reading.
其二维数组的存储为形式:I
am
a
boy.
I
am
reanging.
(空闲时间不多,不能及时采纳,望请原谅,在这里先谢谢了!)
最后那个reanging手快打错了,抱歉 展开
注意:每个单词长度不等,句子数量不定,可以用指针,也可以不用。
例如数组一:I am a boy.I am reading.
其二维数组的存储为形式:I
am
a
boy.
I
am
reanging.
(空闲时间不多,不能及时采纳,望请原谅,在这里先谢谢了!)
最后那个reanging手快打错了,抱歉 展开
展开全部
#include<stdio.h>
#include<string.h>
int main(void)
{
char shou[1000];
char show[1000][1000];
char *p = NULL;
char *q = NULL;
int i = 0;
int j;
printf("请输入一个句子:");
gets(shou);
p = q = shou;
if(*p ==' ')
p = p+1;
q= p;
while(1)
{
if(p = strchr(p,' '))
{
strncpy(show[i],q,p-q);
show[i][p-q] = '\0';
p = p+1;
q = p;
i ++;
}
else
break;
}
if (p == NULL && *q != '\0')
{
strncpy(show[i],q,strlen(q));
show[i][strlen(q)] = '\0';
i++;
}
for(j = 0; j < i; j++)
{
puts(show[j]);
}
}
#include<string.h>
int main(void)
{
char shou[1000];
char show[1000][1000];
char *p = NULL;
char *q = NULL;
int i = 0;
int j;
printf("请输入一个句子:");
gets(shou);
p = q = shou;
if(*p ==' ')
p = p+1;
q= p;
while(1)
{
if(p = strchr(p,' '))
{
strncpy(show[i],q,p-q);
show[i][p-q] = '\0';
p = p+1;
q = p;
i ++;
}
else
break;
}
if (p == NULL && *q != '\0')
{
strncpy(show[i],q,strlen(q));
show[i][strlen(q)] = '\0';
i++;
}
for(j = 0; j < i; j++)
{
puts(show[j]);
}
}
追问
你好,能用
#include
void main()
这个形式不?那个strncpy可以换成strcpy,我是初学的,所以你的这个形式有的地方看着还不是很习惯
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询