Reputation: 89
I copied this code from geeks for geeks.
#include<stdio.h>
int main()
{
int c;
printf("geeks for %ngeeks ", &c);
printf("%d", c);
getchar();
return 0;
}
It should print the characters from start to %n
followed by the number of printed characters:
But when I execute it, it's printing this:
Upvotes: 3
Views: 287
Reputation: 23802
It seems that the problem lies in the fact that older versions of MingW do not set __USE_MINGW_ANSI_STDIO
by default, which is not the case for newer versions, what you can do is to manually define it in your program:
# define __USE_MINGW_ANSI_STDIO
#include <stdio.h>
int main()
{
//...
}
Or use it directly on the compilation command:
gcc main.c -o main.exe -D __USE_MINGW_ANSI_STDIO
Upvotes: 3