/*******Author: 时光伴岁月************************/
/*******Date: 20170908****************************/
#include<stdio.h>
#include<string.h>
#define MAX_LENGTH 1000
void array_reverse(char s[])
{
int i,j;
char temp;
i=0;
while(s[i]!='\0')
++i;
--i;
if(s[i]=='\n')
--i;
j=0;
while(j<i){
temp=s[j];
s[j]=s[i];
s[i]=temp;
--i;
++j;
}
}
int get_line(char s[],int line)
{
int c;
int i,j=0;
//数组下标从0开始,line-1 表示数组最大的下标值,line-2表示预留一个最大的下标值给'\n';
for(i=0;(c=getchar())!=EOF && (c!='\n');++i)
{
if(i<line-2){
s[j]=c;
++j;
}
}
if(c=='\n')
{
s[j]=c; //将预留的下标对应的值存为'\n';
++j;
++i;
}
return i;
}
int main(void)
{
int c;
char line[MAX_LENGTH];
while((get_line(line,MAX_LENGTH))>0)
{
array_reverse(line);
printf("%s",line);
}
return 0;
}
调试结果: