Question: Trace through each C code fragment and write down the exact output that will be printed if the fragment is run. 1) void bar(char *str,

Trace through each C code fragment and write down the exact output that will be printed if

the fragment is run.

1)

void bar(char *str, int c) {

for (int i=0; i

printf("%c", *str);

}

}

void foo(char *str) {

int c;

for (c = 0; *str != '\0'; ++c, ++str);

bar(--str, c);

}

int main() {

char *input = "forwards";

foo(input);

return 0;

}

2)

char** epsilon(char **input, int length) {

char **storage = malloc(sizeof(char*)*length);

for (int i=0; i

int index = length-i-1;

int wlen = strlen(input[index]) + 1;

storage[i] = malloc(sizeof(char) * wlen);

for (int j=0; j

storage[i][j] = input[index][j];

}

}

return storage;

}

int main() {

char *wordList[] = { "the", "cat", "in", "the", "hat"};

char **result = epsilon(wordList, 5);

for (int i=0; i<5; i++) {

printf("%s ", result[i]);

}

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!