Si no sabes sobre el %i y %d Formato de especificadores, siga las pautas de este artículo.
%I Formato Especificador
En el lenguaje de programación C, el %i se usa para imprimir un entero firmado cuando se usa con la función printf (). Los enteros firmados son los que pueden ser positivos o negativos. En la programación C, cuando se usa %i, el valor de argumento que está pasando debe ser una expresión o un tipo entero que evalúa automáticamente en un tipo de datos entero. También puedes usar el %i especificador para leer un valor de personaje que viene dentro del rango de un entero firmado.
%d de formato especificador
El %d El especificador de formato, por otro lado, se usa para imprimir el entero sin firmar en el lenguaje de programación C. Aquí los enteros sin firmar son enteros positivos. En lenguaje C cuando usa %d, entonces el valor del tipo de argumentos En t.
Diferencias
Ambos %i y %d Los especificadores de formato se usan con frecuencia en el lenguaje de programación C para imprimir enteros. Pueden parecer similares en términos de uso y comportarse lo mismo cuando se usa la función printf ().
Hagamos un seguimiento con un código de muestra donde se utilizan ambos especificadores de formato.
#incluirEn este código, primero inicializamos una variable y tomamos valor del usuario usando scanf (). Luego mostramos la salida usando %d y %i.
Producción:
Ambos proporcionan una salida similar cuando se usan con el printf () función. No importa si ingresa el valor positivo o negativo, el resultado siempre será el mismo.
Sin embargo, si observamos la función de scanf, podemos diferenciarlos correctamente. En el código anterior, si ingresamos un valor decimal como "012". Si usamos "%d" en lugar de %i, Obtendrá la salida 12. La razón es que %d ignora el valor de 0 cero de la entrada del usuario.
#incluirProducción
Si se ingresa el mismo valor usando %i Como en la función scanf (), la salida será 10 en este caso. La razón es %i Imprime el valor decimal de 012 (representación octal).
#incluirConclusión
El especificador de formato es un patrón que inicialmente comienza con el De % firmar y generalmente nos dice qué tipo de datos se colocan en la entrada y qué datos se deben mostrar. %d y %i son dos especificadores ampliamente utilizados en la programación C. Son similares cuando se usan con la función printf () pero obtienen resultados diferentes cuando se usan con la función scanf ().