Hey,
I am facing strange result after running in Code::Blocks the same code as in CLion (same compiler- newest cygwin gcc):
#include <stdio.h>
int main(void)
{
char n1[100] = "Ala";
char *p;
for(p= n1; p < n1 + 10; p++)
printf("Address: %p, c: %c d: (%d)\n", p, *p, *p);
return 0;
}
In Code::Blocks result is probably wrong, 1 image. Second one is from CLion, the same compiler used and the result is the proper one (tested with friends).
Any indeas or suggestions? Thank you in advance.
codeblocks is not a compiler, so anything different on runtime is not caused by codeblocks, but by the compiler/runtime
I see no error in both outputs, just different memory initializations during runtime...
Agreed. Nothing's wrong with the output. They're both correct. Just different memory location.
No, not only "location", but "initialization".
Location is hopefully always different on every run and on any system...
but also: unix systems (like cygwin is) seem to initialize memory with 0, at least if you make a debug build. Windows systems do not...
Accessing uninitialized memory is undefined behavior so by definition every result is correct :D
Ok, I understand now. Thank you very much for help :)