Napisałem mały instrukcji printf który działa inaczej w C i C++:Czy funkcjonowanie operatora sizeof innym wc andd C++
int i;
printf ("%d %d %d %d %d \n", sizeof(i), sizeof('A'), sizeof(sizeof('A')), sizeof(float), sizeof(3.14));
Wyjście do powyższego programu w C z użyciem Kompilator gcc 4 4 8 4 8
Dane wyjściowe dla powyższego programu C++ za pomocą g ++ kompilator 4 1 8 4 8
że oczekuje 4 1 4 4 8 w C. Ale wynik nie jest taki.
Trzecim parametrem w sizeof printf (sizeof ('A')) daje 8
Może mi ktoś podać uzasadnienie dla tej
vs2012: '' 4 1 4 4 8''. – gongzhitaao