Exercise: Questions on C Quiz 9


Questions on C Quiz 9 : Question 1 :
In the following program snippet, both s1 and s2 would be variables of structure type defined as below and there won't be any compilation issue.
typedef struct Student
{
 int rollno;
 int total;
} Student;

Student s1;
struct Student s2;

TRUE
FALSE
Show Answer
Questions on C Quiz 9 : Question 2 :
Pick the best statement for the following program.
#include "stdio.h"

int foo(int a)
{
 printf("%d",a);
 return 0;
}

int main()
{
 foo;
 return 0;
}

It’ll result in compile error because foo is used without parentheses.
No compile error and some garbage value would be passed to foo function. This would make foo to be executed with output “garbage integer”.
No compile error but foo function wouldn’t be executed. The program wouldn't print anything.
No compile error and ZERO (i.e. 0) would be passed to foo function. This would make foo to be executed with output 0.
Show Answer
Questions on C Quiz 9 : Question 3 :
Find out the correct statement for the following program.
#include "stdio.h"

typedef int (*funPtr)(int);

int inc(int a)
{
 printf("Inside inc() %d\n",a);
 return (a+1);
}

int main()
{

 funPtr incPtr1 = NULL, incPtr2 = NULL;

 incPtr1 = &inc; /* (1) */
 incPtr2 = inc; /* (2) */

 (*incPtr1)(5); /* (3) */
 incPtr2(5); /* (4)*/

 return 0;
}

Line with comment (1) will give compile error.
Line with comment (2) will give compile error.
Lines with (1) & (3) will give compile error.
Lines with (2) & (4) will give compile error.
No compile error and program will run without any issue.
Show Answer
Questions on C Quiz 9 : Question 4 :
Find out the correct statement for the following program.
#include "stdio.h"

int * gPtr;

int main()
{
 int * lPtr = NULL;

 if(gPtr == lPtr)
 {
   printf("Equal!");
 }
 else
 {
  printf("Not Equal");
 }

 return 0;
}

It’ll always print Equal.
It’ll always print Not Equal.
Since gPtr isn’t initialized in the program, it’ll print sometimes Equal and at other times Not Equal.
Show Answer
Questions on C Quiz 9 : Question 5 :
Find out the correct statement for the following program.
#include "stdio.h"

int * arrPtr[5];

int main()
{
 if(*(arrPtr+2) == *(arrPtr+4))
 {
   printf("Equal!");
 }
 else
 {
  printf("Not Equal");
 }
 return 0;
}

Compile Error
It’ll always print Equal.
It’ll always print Not Equal.
Since elements of arrPtr aren’t initialized in the program, it’ll print either Equal or Not Equal.
Show Answer