读书人

字符串反序排列,该怎么解决

发布时间: 2012-05-24 11:55:41 作者: rapoo

字符串反序排列
写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串?

这是课后的一道练习题...
我想问下:

在主函数中输入和输入字符串,用户输入字符串,我们并不知道他要输入多少,我们定义
char数组该定义多少啊...

如果是100,如果用户只输入了10个字符就完了,而此时却不得不继续输入....
有莫有好一点的解决方法啊....



[解决办法]
你自己都不确定的事,计算机如何能知道。
所以,首要问题还是把你的需求想清楚。
你可以用C++的std::string来接受不定长的字符串,但那也无非是STL封装了本该由我们自己来写的复杂代码,如此而已。
[解决办法]
根本不用去理多长,可以用递归进行反序的
[解决办法]
getchar+循环也有不错的解决方式,getchar可以接受回车,做个判断,如果是回车就跳出循环。
[解决办法]
char ch;
char content[1001]={0};
char *p = content;
do
{
ch=getchar();
if(ch == '\0')
break;
if(p > 1000+content)
break;
*p++ = ch;
}while(p < 1000+content);

读书人网 >C语言

热点推荐