Can anyone tell me which one is correct or most appropriate answer for code written in C language?
Code1:
#include<stdio.h>
int main()
{
int i=10, j=20;
const int *ptr = &i;
printf("i = %5X", ptr);
printf("ptr = %d", *ptr);
ptr = &j;
printf("j = %5X", ptr);
printf("ptr = %d", *ptr);
return 0;
}
Choice:
A. i= FFE2 ptr=12 j=FFE4 ptr=24
B. i= FFE4 ptr=10 j=FFE2 ptr=20
C. i= FFE0 ptr=20 j=FFE1 ptr=30
D. Garbage value
Code2:
#include<stdio.h>
int fun(int **ptr);
int main()
{
int i=10;
const int *ptr = &i;
fun(&ptr);
return 0;
}
int fun(int **ptr)
{
int j = 223;
int *temp = &j;
printf("Before changing ptr = %5x\n", *ptr);
const *ptr = temp;
printf("After changing ptr = %5x\n", *ptr);
return 0;
}
The answer of above program
Because i dont know much about pointers in C