#include <iostream>
using namespace std;
int main() {
// your code goes here
int a = 10;
printf("\n a = %d", a),int(3);
return 0;
}
This code works fine in C++ (http://ideone.com/RSWrxf) but the same printf line does not work in C. Why does it work in C++? I'm confused about comma being allowed between two statements and C/C++ compilation difference.
int(3) is not valid syntax in C. You could write it like this though:
printf("\n a = %d", a),(int)3;
or even just:
printf("\n a = %d", a),3;
and this would compile in both C and C++.
Note that the comma between the printf and the redundant expression following it is just the comma operator. The results of both the printf call and the following expression are discarded.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With