Soy nuevo en C y me gustaría pedirle a un experto que me explique el significado específico de cada paso de este programa. Gracias.
#define TRUE 1 //Definir la constante TRUE como 1.
#define FALSE 0 //Definir la constante FALSE como 0.
typedef int Bool//Define Bool, sinónimo de int. Esta oración y las dos oraciones anteriores simulan el tipo booleano.
Main()//Función principal
{
bool dígito _ visto[10]= { 0 } //Definir un bool llamado dígito_visto (entero) ) matriz, definiendo cada elemento de la matriz como 0 (FALSO).
int número; //Definir una variable int (entero) llamada dígito.
long int n; //Definimos una variable entera larga llamada n.
printf("Ingrese un número:"); //Imprimir (salida) "Ingrese un número en la pantalla" (sin incluir las comillas).
scanf("%ld ", & ampn); //Ingrese una variable entera larga y pásela a n.
while(n & gt; 0) {//El bucle comienza desde n >; luego se ejecuta el bucle.
digit = n % 10; //Asigna el resto de n dividido por 10 a la variable dígito.
If(digit_seen[digit]) //Si el elemento dígito de la matriz digit_seen no es 0 (TRUE)
Romper; luego salga de este bucle. Combinado con lo siguiente, si aparecen dos números repetidos en n, el ciclo saldrá, porque n > 0 en este momento, lo que proporciona condiciones para juicios posteriores.
digit_seen[digit]=TRUE; //Si el ciclo no sale, el programa se ejecutará en esta oración. Función: Registre el primer número de la matriz digit_seen como VERDADERO, lo que indica que se ha utilizado un número en n.
n/= 10; //Esta oración es similar a n=n/10, es decir, la parte entera de N menos 10 veces se asigna a N (un número entero dividido por un número entero sigue siendo un entero).
}//Juzgado al principio del ciclo. Si n/10 ya es 0, el ciclo finaliza. En este momento, n = 0 establece las condiciones para juicios posteriores.
If (n & gt0) //Si n & gt0, es decir, salir del ciclo a la mitad, significa que hay números repetidos en n.
printf("Números duplicados\n\n"); //Emite "Números duplicados" y dos caracteres de nueva línea (que indican "Números duplicados")
Else //Aquí Else tiene Solo hay una posibilidad, es decir, n = 0 significa que el ciclo termina normalmente y no hay ningún número de repeticiones en n.
printf("No hay números repetidos\n\n"); //Emite "No hay números repetidos" y dos caracteres de nueva línea.
Return 0; //El programa finaliza normalmente
}
/*Resumen, este programa determina si todos los dígitos de un número se repiten, como 124571. repetido, 123456Sin duplicación*/