Question 1 1 points Save if b is declared as char b[10] which of these statements does not returns the content of the 10th array cell: *(b+9); b[9]; *b + 9; *(&b[0] + 9); Question 2 1 points Save The address of the 100th cell of an array, a, declared as int a [100]; is given by: &a[100]; a + 99; *a[100] (*a)[99] Question 3 1 points Save if a is declared as int a [10], p as int * p, and count as int then which of these pieces of code does not print the integers from a: for (count=0; count<10; count++) printf("%d ",a[count]); for (p=a,count=0; count < 10; count++) printf("%d ",*p++); for (p=a,count=0; count < 10; printf("%d ",*p),count++,p++); for (p=a,count=0; count < 10; count++,p++,printf("%d ",*p)); Question 4 1 points Save If p is declared as char ** p which of these statements returns a char: p; *p; **p; ***p; Question 5 1 points Save If head is of type typeCell * where typeCell is defined as: typedef struct cell { int value; struc * cell next; } typeCell; then which of these statements is incorrect: head->next; head.next; (*head).next; head[0].next; Question 6 1 points Save Suppose that p and q are of type typeCell * where typeCell is defined as: typedef struct cell { int value; struc * cell next; } typeCell; Moreover assume that p points to one of the typeCell structure of a link list, and that q points to a typeCell structure newly allocated. Which of these pieces of code correctly inserts the structure newly allocated in the linked list: q->next = p; p = NULL; q = p->next; p->next = q; p->next = q; q->next = p->next; q->next = p->next; p->next = q; Question 7 1 points Save If swap is defined as swap (char * p, char * q) { char ch; ch = *p, *p = *q, *q = ch; } and if p and q are defined of type char* then the effect of the call swap (&p,&q) is to exchange the content of the 2 pointer variables. is to exchange the content of the memory cells pointed to by p and q. is to do nothing (state of program identical after return of call). is irrelevant as this is clearly incorrect programming. Question 8 1 points Save If swap is defined as swap (char ** p, char ** q) { char * pch; pch = *p, *p = *q, *q = pch; } and if p and q are defined of type char* then the effect of the call swap (&p,&q) is to exchange the content of the 2 pointer variables. is to exchange the content of the memory cells pointed to by p and q. is to do nothing (state of program identical after return of call). is irrelevant as this is clearly incorrect programming. Question 9 1 points Save If swap is defined as swap (char ** p, char ** q) { char ch; ch = **p, **p = **q, **q = ch; } and if p and q are defined of type char* then the effect of the call swap (&p,&q) is to exchange the content of the 2 pointer variables. is to exchange the content of the memory cells pointed to by p and q. is to do nothing (state of program identical after return of call). is irrelevant as this is clearly incorrect programming. Question 10 1 points Save If swap is defined as swap (char p, char q) { char ch; ch = p, p = q, q = ch; } and if p and q are defined of type char* then the effect of the call swap (*p,*q) is to exchange the content of the 2 pointer variables. is to exchange the content of the memory cells pointed to by p and q. is to do nothing (state of program identical after return of call). is irrelevant as this is clearly incorrect programming.