Viết chương trình biên dịch và chạy cả trong C và C++ nhưng cho kết quả khác nhau.
Có nhiều loại chương trình cho kết quả khác nhau khi biên dịch C vs C++.
i. Sử dụng hằng ký tự (character literals) – C và C++ xử lý ký tự khác nhau. Trong C, chúng là hằng nguyên (integer literals), trong C++ là ký tự.
Ví dụ
#includeint main(){ printf("%d", sizeof('a')); return 0; }
Kết quả
C : 4 C++: 1
ii. Sử dụng số nhị phân – giá trị nhị phân trong C không được coi là nhị phân, xem như số nguyên. Trong C++ thì được coi là nhị phân.
Ví dụ
#includeint main(){ printf("%d", sizeof(1!=1)); return 0; }
Kết quả
C : 4 C++: 1