Печать символа с помощью printf

Оба эти кода одинаковы

char ch = 'a';
printf("%d", ch);

Будет ли он печатать значение мусора?

Я не понимаю, что это

printf("%d", '\0'); 

Будет ли он печатать 0 или значение мусора? Потому что, когда я делаю это

printf("%d", sizeof('\n')); 

, он печатает 4. Почему sizeof ('\ n') 4 байта? То же самое в C ++ печатает 1 байт. Почему это так?

Итак, вот главный вопрос

на языке c: printf ("% d", '\ 0') должен печатать 0

, а в C ++ printf ("% d", '\ 0') должен печатать мусор?

18
задан Agustin Meriles 26 March 2013 в 14:13
поделиться