Suppose such a snippet of minimal code:
#include <stdio.h>
int main(void)
{
int a = 2;
int b = a;
printf("a = %d, &a = %d", a, &a);
printf("b = %d, &b = %d", b, &b);
return 0;
}
I ran it and get error report as:
test.c:6:31: warning: format specifies type 'int' but the argument has type 'int *' [-Wformat]
printf("a = %d, &a = %d", a, &a);
~~ ^~
test.c:7:31: warning: format specifies type 'int' but the argument has type 'int *' [-Wformat]
printf("b = %d, &b = %d", b, &b);
~~ ^~
2 warnings generated.
I assume a = 2
b = 2
is equivalent to a = b = 2
, nonetheless the complier remind info hardly to understand.