Given the declaration of a C-string variable, where SIZE is a defined constant:
char our_string[SIZE];
The C-string variable our_string has been assigned in code not shown
here. For correct C-string variables, the following loop reassigns all
positions of our_string the value 'X', leaving the length the same as
before. Assume this code fragment is embedded in an otherwise complete
and correct program. Answer the questions following this code fragment:
int index = 0;
while (our_string[index] != '\0')
{
our_string[index] = 'X';
index++;
a. Explain how this code can destroy the contents of memory beyond the
end of the array.
b. Modify this loop to protect against inadvertently changing memory
beyond the end of the array.
Sorry the answer is not available at the moment…
If you are able to find the answer, please make sure to post it here. So that your Juniors have smile on their lips and feel happy.
Spread the 'tradition of sharing'.