采用函数进行字符串逆序输出,过程为:
定义函数,参数为字符串指针
定义局部变量指针t指向原字符串
移动t指针到字符串尾
向移动t指针,直到回到原指针头,输出各位置字符。
参考代码:
没有看明白你的代码,如果只是想把字符逆转后再输出.这应是很简单的,下面我写了一个逆转字符后并输出的代码:
#include
#include
#define STRING_MAX_LONG 100
/* Function prototypes */
void swaping(char*,char*),InverseString(char*,int);
void main()
{
char str[STRING_MAX_LONG];
int strLen=0;
printf("Please input string:");
scanf("%s",str);
InverseString(str,strlen(str));
printf("\nInverse string after:%s\n",str);
}
void swaping(char *a,char *b)
{
char temp=*a;
*a=*b;
*b=temp;
}
void InverseString(char s[],int len)
{
int i,k=-1,j;
i=j=0;
for (i=k+1;ij=len-i+k;
if(i>=j) break;
swaping(&s[i],&s[j]);
}
}
好像你的输出有问题,如果没记错,字符的输出c语言里面只能用for循环一个一个字符输出吧。c++可以直接写字符数组名输出
你先确定了长度
length=strlen(str);
再读入 scanf("%s",str);
很明显者两者对不上