Can anybody tell me how the answer of this code is 16 25
#include<stdio.h>
#define sqr(x) ++x * ++x
int main()
{
int a = 3, z;
z = ++a * ++a;
a -= 3;
printf("%d %d", sqr(a), z);
return 0;
}
Can anybody tell me how the answer of this code is 16 25
#include<stdio.h>
#define sqr(x) ++x * ++x
int main()
{
int a = 3, z;
z = ++a * ++a;
a -= 3;
printf("%d %d", sqr(a), z);
return 0;
}
Compiling the code with -Wall
option gives the following warning:
[Warning] operation on 'a' may be undefined [-Wsequence-point]
The results are platform and version dependent. Using such an expression results undefined behaviour. Therefore, such an expression must not be used.