Re: Code does not work!!!
Quote:
Originally Posted by
Peter_B
You are trying to modify a string literal ("VENICE"). This will cause undefined behaviour.
Isn't he trying to modify the contents of memory whose start address is the start address of the char array a whose contents have been set to VENICE\0? Surely changing p1-- to p2-- is all that is required in this case? This works OK with my c compiler and produces the expected output.
Re: Code does not work!!!
Quote:
Originally Posted by
2kaud
Isn't he trying to modify the contents of memory whose start address is the start address of the char array a whose contents have been set to VENICE\0? Surely changing p1-- to p2-- is all that is required in this case? This works OK with my c compiler and produces the expected output.
Yes, I got it wrong with the string literal bit :o mathmari's code wasn't trying to alter the literal itself, but rather the copy which is in the char array. Thanks for correcting me. I'm so used to seeing beginners trying to modify string literals that I jumped to the wrong conclusion.
It is indeed just the p1-- which was wrong, and should be p2--.