程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
为啥每次输入类似340,250,630这种数字就只能显示出百位数?求求各位大佬。
#include
#include
int main()
{
char num[4];
int i;
scanf("%s",num);

if(num[2]!='0'){
    for (i=2;i>-1;i--){
        printf("%c",num[i]);
    }
}
else{
    if (num[1]='0')   printf("%c",num[0]);
    if (num[1]!='0')  printf("%c %c",num[1],num[0]);
}
return 0;

}

if (num[1]=='0')
不是
if (num[1]='0')

不过你的思路有问题,直接给你正确地吧

#include <stdio.h>
#include <string.h>
int main()
{
    char num[4];
    int i;
    int d = 0;
    scanf("%s",num);
    for (int i = strlen(num) - 1; i>=0; i--)
    {
        d *= 10;
        d = d + (num[i] - '0');
    }
    printf("%d", d);
    return 0;
}

问题解决的话,请点采纳