C Quiz - 109

Last Updated :
Discuss
Comments

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. C
typedef struct Student
{
 int rollno;
 int total;
} Student;

Student s1;
struct Student s2;
  • TRUE
  • FALSE

Question 2

Find out the correct statement for the following program. C
#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.

Question 3

Pick the best statement for the following program. C
#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.

Question 4

Find out the correct statement for the following program. C
#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.

Question 5

Find out the correct statement for the following program. C
#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.
Tags:

There are 5 questions to complete.

Take a part in the ongoing discussion