3.下面程序的功能是:调用fun函数,实现将指针s所指的字符串的反序和正序连接后形成一个新的字符串并存放在原处。如字符串“1234”,执行函数后,字符串为“12344321”。

#include <stdio.h>
#include <string.h>
int main()
{
void fun(char *s);
char str[100];
printf("请输入一个字符串:\n");
gets(str);
fun(str);
printf("反序连接后字符串:\n");
puts(str);
return 0;
}
void fun(char *s)
{
char *p, *q, n;
(*p != '\0');
for(p = s + n - 1, q = s + n; p >= s; p--,q++)
//反序存放
*q = '\0';
}


#include <stdio.h>
#include <string.h>
int main()
{
    void fun(char* s);
    char str[100];
    printf("请输入一个字符串:\n");
    gets(str);
    fun(str);
    printf("反序连接后字符串:\n");
    puts(str);
    return 0;
}
void fun(char* s)
{
    //char* p, * q, n;
    int len = strlen(s);
    int i, j;
    for ( i = len - 1, j = len; i >= 0; i--, j++) {
        s[j] = s[i];
    }
    s[j] = '\0';
}
void fun(char *s)
{
    char *p,*q,n=0;
    p = s;
    while(*p != '\0')
    {
        p++;
        n++;
    }
    q = p;
    while(n>0)
    {
         *p = *(q-1);
          p++;
          q--;
          n--;
    }
    *p = '\0';
}