#include <stdio.h>
#include "string.h"
int main()
{
    char str[10000];
    scanf("%[^\n]",str);//这将使scanf函数可以读取空格,而非遇到空格结束读取。
    int i,length = strlen(str);
    for(i = length - 1; i >= 0; --i)
    {
        printf("%c", str[i]);
    }
} #include <stdio.h>
#include <string.h>
int main() {
    char arr[10000]={};
    scanf("%[^\n]",arr);
    int len = strlen(arr);
    //printf("%d\n",len);
    for(int i=len-1;i>=0;i--){
        printf("%c",arr[i]);
    }
    printf("\n");
    return 0;
}
 此处尝试了一下关于正则的使用,目前还没有系统的学习正则表达式,不过这道题还可以用gets函数处理scnaf所不能处理的空格问题
                                                                                    #include "stdio.h"
#include "string.h"
//双指针法
int main(void)
{
    char str1[100];
    int length, i, right, left;
    char temp;
    left = 0;
    gets(str1);
    right = strlen(str1)-1;
    while(left<right){
        temp = str1[left];
        str1[left] = str1[right];
        str1[right] = temp;
        left++;
        right--;
    }
    printf("%s",str1);
} #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char Buff[100];
    char cTmp;
    int cnt = 0;
    
    while(scanf("%c",&cTmp) != EOF)
    {
        if(cTmp != '\n')
        {
            Buff[cnt++] = cTmp;
        }
        else
        {
            for(int i = cnt-1; i >= 0; i--)
            {
                printf("%c",Buff[i]);
            }
            printf("\n");
            cnt = 0;
        }
        
        
        
    }
    return 0;
    
}