C语言字符串问题

"aaabbaaac"是由下面碎片组成的:"aaa","bb",‘c’。输入字符串,请计算字符串的所有碎片。输出字符串中按顺序(按顺序)出现的碎片。
例如:aaabbaaac
abcabcabc
aaaaaa
apple
aabbaaaacc
输出:aaa bb c
a b c
aaaaaa
a pp l e
aa bb aaaa cc
怎么用代码实现(写了好久都没写出来)

第1个回答  2017-11-21
我也试了一下,没问题,你到底是什么问题,是要在s1或s2中输入空格吗?那么用gets函数;
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。
其调用格式为:gets(s);   
其中s为字符串变量(字符串数组名或字符串指针)。   
gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
你改为:
#include<stdio.h>
void main()
{ char s1[50],s2[50];
gets(s1);
gets(s2);
printf("%s\n",s1);
printf("%s\n",s2);
}
这样就用回车表示输入结束
相似回答