printf("Size of int is: %u\n",sizeof(int));
printf("Size of ptr is: %u\n",sizeof(&Mod));
E:\Pelles\a\a.c(146): warning #2234: Argument 2 to 'printf' does not match the format string; expected 'int' but found 'unsigned long long int'.
E:\Pelles\a\a.c(147): warning #2234: Argument 2 to 'printf' does not match the format string; expected 'int' but found 'unsigned long long int'.
They seem to be quite correct to me. sizeof should produce an int. I've never had a problem with a statement like this with any other compiler.
If I cast sizeof to an int then the warnings go away as in:
printf("Size of int is: %u\n",(int)sizeof(int));
printf("Size of ptr is: %u\n",(int)sizeof(&Mod));
It doesn't make sense for sizeof to produce a long long.