#include<stdio.h>
int main()
{
char ch[100];
int i=0,j=0,x=0,temp;
do
{
scanf("%c",&ch[x]);
x++;
}while(ch[x-1]!='\n');
j=x-1;
while(i<j)
{
temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
i++;
j--;
}
printf("%s",&ch);
return 0;
}
修改如下。do...while结束后,ch[x-1]=0,j=x-2
int main()
{
char ch[100];
int i=0,j=0,x=0,temp;
do
{
scanf("%c",&ch[x]);
x++;
}while(ch[x-1]!='\n');
ch[x-1] = 0;
j=x-2;
while(i<j)
{
temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
i++;
j--;
}
printf("%s",ch);
return 0;
}
用gets()去获取输入的字符吧。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Inverse(char str[], char ptr[]);
int main()
{
char str[100];
char ptr[100];
gets(str);
Inverse(str,ptr);
printf("%s\n",ptr);
}
void Inverse(char str[], char ptr[]){
int n=strlen(str);
int i;
for(i=0;i<=n;i++){
ptr[i]=str[n-i-1];
}
ptr[i-1]='\0';
}