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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started