Если вы работаете в 32-битной системе:
размер символьного литерала '3' равен 4, потому что символьные литералы являются целыми числами в языке C (но не в C ++).
sizeof "3" равно 2, потому что это литерал массива длиной 2 (цифра 3 плюс терминатор NULL).
размер литерала 3 равен 4, потому что это int.