C语言中字符串逆序排列的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 12:10:40
原题是:
对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来的字符数组中,最后输出。(不得调用任何字符串处理函数),例如:
输入 hello world
输出 dlrow olleh

答案正确追加20分!!!
是不是字符串的长度一定要提前定好(char strA[200])?万一输入的字符串长度超出了已定的长度(200),程序不就无法实现了吗?

#include "stdio.h"
main()
{
char strA[200];
char Temp;
int i=0,Length=0;
clrscr();
printf("请输入一个字符串:");
gets(strA);
Temp=strA[0];
while(Temp!='\0'){
Length++;
Temp=strA[i++];
}
Length--;
for(i=0;i<Length/2;i++){
Temp=strA[i];
strA[i]=strA[Length-i-1];
strA[Length-i-1]=Temp;
}
puts(strA);
getch();
}
你可以个性200到比较大的一个值,也可以在循环语句(FOR 或 WHILE)中加getchar()一个一个地输入文字,然后设定一个结束标志
但是题目要求是要存入一个数组中,而在定义数组时必须指定数组大小,所以只能把数组设大一些,重要的是知道把字符串逆序的方法