Red de conocimiento informático - Computadora portátil - Programación en lenguaje C Ingrese un número entero, divídalo poco a poco comenzando desde el extremo superior y luego genere cada dígito. No entiendo este proceso, agregue algunos comentarios sobre las partes importantes.

Programación en lenguaje C Ingrese un número entero, divídalo poco a poco comenzando desde el extremo superior y luego genere cada dígito. No entiendo este proceso, agregue algunos comentarios sobre las partes importantes.

#includelt; stdio.hgt;

int main(void)

{

int b, t, x, c

printf("Ingrese un número entero: ");

scanf("d",amp;x) )

c=0; =0)// Cuando x es un número positivo, supongamos que es 12345

{

t=x10; // Elimina el primer dígito de x, 5, y asígnalo a t, en este momento t es 5. Tome el primer dígito del resto de 10, que se usará muchas veces a continuación

while(x!=0)

{

x=x / 10; // El efecto de la división de enteros es hacer que x "retroceda" una posición a la derecha. En este momento, el valor de x es 1234. Por ejemplo, el resultado de 911/10 es 91, con el primer dígito "eliminado". Esta técnica también se usa muchas veces a continuación

b=x10; // Asigna el primer dígito de x a b, que es 4

t=t*10 b;/ /t originalmente es 5, multiplicado por 10 y luego sumado a b, se convierte en 54. Luego, cuando se "elimina" x, el while sigue repitiendo así y luego sale.

while exits

}/ while exits t es 543210

//printf("d\n", t); // puedes descomentar esta línea para ver qué es t

t=t/10;//haz que vaya un lugar a la derecha

t=t/10;//haz que vaya un lugar a la derecha.

while(t!=0)

{

printf("d", t10 // Continúa sacando el primer dígito de t y generalo

t=t/10; // Continúa devolviendo t un dígito a la derecha

}// Este bucle genera un dígito de t cada vez, desde el primer dígito hasta el dígito más alto

}

if(xlt; 0) //Cuando x es un número negativo

{

x=-x; cambiar x Convertir al número opuesto, entonces la siguiente operación es casi exactamente la misma que para los números positivos

t=x10;

while(x !=0)

{

p>

x=x/10

b=x10 ​​

t=t*10

}

t=t/10;

mientras(t!=0)

{

c; /c registra el número actual de dígitos

if( clt;=1)

printf("-"); //si c es menor o igual a 1, significa que acaba de comenzar y primero se debe mostrar un signo negativo

else printf(" ") ; //si c es mayor que 1, se debe agregar un espacio para separar los dígitos

printf(" d",t10);

t=t/10;

p>

}

}

devuelve 0;

}