me trataronEn C, ¿por qué sizeof (char) 1, cuando 'a' es un int?
printf("%d, %d\n", sizeof(char), sizeof('c'));
y tiene 1, 4 como salida. Si el tamaño de un personaje es uno, ¿por qué 'c'
me da 4? Supongo que es porque es un número entero. Entonces, cuando hago char ch = 'c';
¿hay una conversión implícita ocurriendo, bajo el capó, de ese valor de 4 bytes a un valor de 1 byte cuando se asigna a la variable char?
que creo que tiene que ver con la promoción automática entero, alguien con más hechos que la creencia publicará una fáctico respuesta –
@Roger: Se pregunta sobre la diferencia entre C y C++ sizeof ('a'), mientras que Pregunté si ocurre una conversión? Ver el cuerpo de la pregunta. Ya deduje que 'a' es un número entero en C. – legends2k
Tengo que agradecer a "David Rodríguez - dribeas" por señalar que el enlace en mi respuesta es incorrecto. Estoy borrando mi respuesta. legends2k, la respuesta correcta debería ir a Peter o Neil, en mi humilde opinión. –