编写一个函数change,将一个字符串按照逆序存放。例如,”University”按照逆序输出为”ytisrevinU”。

要求:输入输出功能,在主函数内完成。函数参数传递方式为地址传递。

#include <stdio.h>
#include <stdlib.h>

void change(char* str)
{
if (NULL == str)
return;

char rstr[64] = {0};
int len = strlen(str);
int loop;
for (loop=0; loop<len; loop++)
rstr[loop] = str[len-loop-1];
strcpy(str, rstr);
}

void main()
{
char str[64] = {0};
printf("请输入字符串:");
scanf("%s", str);
change(str);
printf("逆序后的字符串为:%s\n", str);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-13
void reverse(char*);
int main()
{
char str[200];
scanf("%s",str);
reverse(str);
printf("%s",str);
}

void reverse(char * str)
{
int i;
char temp;
for(i=0;i<strlen(str)/2;i++)
{
temp = str[i];
str[i] = str[strlen(str)-1-i];
str[strlen(str)-1-i] = temp;
}
}
第2个回答  2011-06-13
#include <stdio.h>

char* change(char* str)
{
int len, i;
char* p = str;
char ch;
while(*p) p++;
len = p - str;

for (i = 0; i < len / 2; i++)
{
ch = str[i];
str[i] = str[len-i-1];
str[len-i-1] = ch;
}
return str;
}

int main()
{
char buf[] = "University";
printf("%s\n", change(buf));
return 0;
}本回答被提问者采纳
相似回答