2012-07-22 27 views
5

Duplicar posibles:
Difference between format specifiers %i and %d in printf¿Cuál es la diferencia entre printf ("% i") y printf ("% d")

acabo de comprobar la referencia, se dice que los dos ellos indican un entero con signo. Pensé que debe haber alguna diferencia

+0

Ninguno ........... – Mysticial

+0

Probablemente un poco de historia allí; No lo sabría – chris

+1

está el duplicado SO mencionado por @ paulsm4. como citado del documento estándar C99, sección 7.19.6.1: "8. Los especificadores de conversión y sus significados son: d, i El argumento int se convierte a decimal con signo en el estilo [-] dddd. La precisión especifica el número mínimo de dígitos para aparecer; si el valor que se está convirtiendo se puede representar en menos dígitos, se expande con ceros a la izquierda. La precisión predeterminada es 1. El resultado de convertir un valor cero con una precisión de cero no es ningún carácter ". en otras palabras, son tratados de la misma manera. –

Respuesta

5

No hay diferencia.

Desde el modelo de documento C99, sección 7.19.6.1:

d, i

El argumento int se convierte a decimal con signo en el estilo [-] dddd. La precisión especifica el número mínimo de dígitos para aparecer; si el valor que se está convirtiendo se puede representar en menos dígitos, es ampliado con ceros a la izquierda. La precisión por omisión es 1. El resultado de convertir un valor cero con una precisión de cero es ningún carácter

Cuestiones relacionadas