check C Code And Explain What It Does And Also Check For Errors, programming homework help

*Note*: You do not need to use a programming application to complete these questions as they contain only parts of a program. You should be able to complete these questions in 20 minutes.

Question 1: Consider the following program fragment that defines a self‐referential type:

#include <stdbool.h>


#include <stdlib.h>





struct dnode_int;



typedef struct dnode_int *dnode;



struct dnode_int



{



dnode prev;



void *data;



dnode next;



};



typedef struct roundabout_int {dnode cursor;} *roundabout;







int f1(roundabout r)
//Comment here



{



dnode c=r->cursor;
//Comment here



int s=0;
//Comment here









while (c != NULL)
//Comment here




{



s++; c=c->prev;
//Comment here




}



return s;
//Comment here




}







a) What does the function
f1() do (or should do if it were free of errors)? In 1-2 sentences, replace the “Comment here” within the
f1() function with a explanation of what that line of code does. Also include references to other parts of the code if necessary.



b) Describe possible problems with the code of the function
f1().

_________________________________________________________________________________________________

Question 2: Consider the following program fragment that defines a self‐referential class:

#include <stdbool.h>


#include <stdlib.h>





struct node_int;



typedef struct node_int *node;



struct node_int



{



void *data;



bool empty;



node next;



};



typedef struct list_int {node first;} *list;







bool f2(list ell)
//Comment here




{



node c=ell;
//Comment here




int r=0;
//Comment here








while (c != NULL)
//Comment here




{



if (! c->empty)
//Comment here




{



r++;
//Comment here




}



c=c->next;
//Comment here




}



return (r == 0);
//Comment here







}


a) What does the function
f2() do (or should do if it were free of errors)? In 1-2 sentences, replace the “Comment here” within the
f2() function with a explanation of what that line of code does. Also include references to other parts of the code if necessary.


b) Describe possible problems with the code of the function
f2().

"Order a similar paper and get 100% plagiarism free, professional written paper now!"

Order Now