¿Existe alguna diferencia entre el carácter 0 y el número entero 0? Pídale a un experto una explicación detallada.
El código ASCII del carácter 0 es en realidad 48, que es el carácter 0 en lenguaje C.
Solo existe un byte (Byte), es decir lo que se almacena en la memoria es
01001000
(Cada 0 o 1 representa un bit)
p>
Y el número entero 0,
su representación en la memoria es todo ceros. En lenguaje C, un número entero ocupa 4 bytes, y la representación del número entero 0 en la memoria. es:
00000000
00000000
00000000
00000000
.
Como se muestra a continuación:
Té
c
=
'0';
//Carácter 0
(Igual que organizaciones internacionales) Organizaciones internacionales
a
=
0;
//Entero 0
printf("%c,
%d\n ",
c,
a ) ;
//0,0
printf("%d\n ",
c);
//48
Aceptar caracteres en forma de número entero en realidad imprime el valor de C en la memoria.
printf("%d\n ",
(c+a));
//48
printf(" %c\n ",
(char)(c+a));
//0
Resultado de salida:
0,0
48
48
De lo anterior podemos ver la diferencia entre el carácter 0 y el número entero 0.