I'm learning C and trying to debug with printf calls.
But, when I format a string with %s and have characters immediately after, they end up replacing the characters at the beginning.
Example: user_agent = foobar/1.2.3
printf("AGENT: %s:\nHELLO", user_agent);
The output is:
:GENT: foobar/1.2.3
HELLO
Whereas I would have expected the output to be:
AGENT: foobar/1.2.3:
HELLO
Why does the :
after the %s
replace the A
at the beginning?
I can't figure out how to word this question, so my attempts at googling the issue have not yielded any results.
Answer
Can't reproduce your question, you might want to try recompiling the same test code snippet with a different C compiler to see if the issue persists
gcc -o test test.c && ./test
clang -o test test.c && ./test
cl test.c && test.exe