C语言 当我试着把我的数字倒过来时,我得到了一个无意义的结果,

7jmck4yq  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(125)

我得到“-1005348639”,当我试图倒置的数字。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int numero, numero_invertido,digito;
    printf("numero");
    scanf("%d", &numero);
    if(numero>999){
        while(numero>0){
            digito=numero%10;
            numero=numero/10;
            numero_invertido=numero_invertido*10+digito;
        }
        printf("El numero invertido es %d", numero_invertido);
    }
   return 0;
}

我想不出任何办法

krcsximq

krcsximq1#

您需要先将numero_invertido初始化为值0。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int numero, numero_invertido = 0,digito;
    printf("numero");
    scanf("%d", &numero);
    if(numero>999){
        while(numero>0){
            digito=numero%10;
            numero=numero/10;
            numero_invertido=numero_invertido*10+digito;
        }
        printf("El numero invertido es %d", numero_invertido);
    }
   return 0;
}

如果没有将其初始化为零,它将只接受一些垃圾值,并导致各种未定义的行为

相关问题