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);
}
#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.
Join The Discussion
Comments ( 5 )
Related Questions on Pointer
In C, what is a pointer primarily used for?
A. Decision making
B. Code organization
C. Variable declaration
D. Storing values
In C, how do you declare a pointer variable that can store the address of an integer?
A. int *ptr;
B. ptr int;
C. int ptr;
D. ptr *int;
What is the purpose of the '->' operator in C when used with pointers?
A. Arithmetic operation
B. Indirection operator
C. Member access operator
D. Bitwise operation
*(int*)p it should be like this
if we typecat it into int pointer we can like
*(int*)p;//in printf
answer will be 10 if it is int *p =&i instead of void *p =&i.
Answer is 10,why should error here
y should return an error.here,we did type casting,so it will be rerurn regarding output.If we don't type casting means