一个题要实现的功能是字符串反转

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:02:31
这个题要实现的功能是字符串反转,
比如输入a ab abc abcd abcde,
要求输出是a ba cba dcba edcba 注意中间的空格是不作任何操作的
请写出完整的C程序

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

void print(char *p)
{
int l=strlen(p);
for(int i=l-1;i>=0;i--)
printf("%c",*(p+i));
}

int main()
{
char temp[128];
while(scanf("%s",temp)!=EOF)
{
print(temp);
printf(" ");
}

return 0;
}

在C++中可以在for中定义,C程序的话不行
是要将字符串实际反转还是仅仅逆序输出呢?
这里给一个实际反转的:
#include <stdio.h>
char* Reverse(char []);
void main()
{
char str[100];int n;
printf("the number of strings:");/*输入字符串的数目*/
scanf("%d",&n);
printf("Input strings:\n");
while(n>0)
{
scanf("%s",str);
printf("%s ",Reverse(str));
n--;
}
putchar('\n');
}
char* Reverse(char p[]) /*逆序函数*/
{
int i,n=0;
char* q=p,temp;