Рассмотрите программу
main() { printf("%d %d %d",sizeof('3'),sizeof("3"),sizeof(3)); }
вывод из gcc компилятора:
4 2 4
Почему это так?