求大佬解惑c语言错误原因!!!

P5705 【深基2.例7】数字反转

NyAbyss @ 2022-10-22 23:24:42

#include<stdio.h>
#include<string.h>
int main()
{
    int i=0;
    char a[100];
    while ((a[i] = getchar()) != '\n')i++;
    a[i] = '\0';
    i = strlen(a)-1;
    for (; i >= 0; i--)
        printf("%c", a[i]);
}

在此问中,如果我将i = strlen(a)-1;改为i = strlen(a)-2;则可全部ac,但在本地测试中strlen(a)-2;则会使输出结果不符题意,请问这是什么原因呢?


by chenzhiyuan0923 @ 2022-10-22 23:38:17

@NyAbyss 为什么要这么复杂

#include<bits/stdc++.h>
using namespace std;
char a1,a2,a3,a4;
int main(){
    scanf("%c%c%c.%c",&a1,&a2,&a3,&a4);
    printf("%c.%c%c%c",a4,a3,a2,a1);
}

|