C语言将字符串逆序输出问题(用函数)

2025-03-29 03:53:52
推荐回答(4个)
回答1:

采用函数进行字符串逆序输出,过程为:

  1. 定义函数,参数为字符串指针

  2. 定义局部变量指针t指向原字符串

  3. 移动t指针到字符串尾

  4. 向移动t指针,直到回到原指针头,输出各位置字符。

参考代码:

回答2:

没有看明白你的代码,如果只是想把字符逆转后再输出.这应是很简单的,下面我写了一个逆转字符后并输出的代码:

#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;i       j=len-i+k;
   if(i>=j) break;
   swaping(&s[i],&s[j]);
}
}

回答3:

好像你的输出有问题,如果没记错,字符的输出c语言里面只能用for循环一个一个字符输出吧。c++可以直接写字符数组名输出

回答4:

你先确定了长度

length=strlen(str);

再读入 scanf("%s",str);

很明显者两者对不上