Examveda

What will be the output of the following program?
#include<stdio.h>
void main()
{
      int i = 10;
      void *p = &i;
      printf("%d\n", (int)*p);
}

A. Compiler time error

B. Segmentation fault/runtime crash

C. 10

D. Undefined behavior

Answer: Option A

Solution (By Examveda Team)

p is pointer of type void.


This Question Belongs to C Program >> Pointer

Join The Discussion

Comments (5)

  1. RAJA SEKHAR
    RAJA SEKHAR:
    3 years ago

    *(int*)p it should be like this

  2. Viren Adwani
    Viren Adwani:
    5 years ago

    if we typecat it into int pointer we can like
    *(int*)p;//in printf

  3. Kaizer Chief
    Kaizer Chief:
    7 years ago

    answer will be 10 if it is int *p =&i instead of void *p =&i.

  4. Akshay A.K
    Akshay A.K:
    7 years ago

    Answer is 10,why should error here

  5. Muthu Kutty
    Muthu Kutty:
    9 years ago

    y should return an error.here,we did type casting,so it will be rerurn regarding output.If we don't type casting means

Related Questions on Pointer