main()
{
int *j;
{
int i=10;
j=&i;
}
printf("%d",*j);
}
Answers were Sorted based on User's Feedback
Answer / susie
Answer :
10
Explanation:
The variable i is a block level variable and the visibility
is inside that block only. But the lifetime of i is lifetime
of the function so it lives upto the exit of main function.
Since the i is still allocated space, *j prints the value
stored in i since j points i.
| Is This Answer Correct ? | 78 Yes | 5 No |
Answer / vishu
the answer is that
int i varibale is part of int*j block code ,but outside the
block of code i variable also show their existanse.if we
write a code after the int*j block of code .
int*h
{
h=&i
}
printf("%d",*h);
}
| Is This Answer Correct ? | 11 Yes | 3 No |
Answer / bipin chandra sai.s
actually j has beeen assigned the addresss of i so the ans
will be the value present in the address location 10
| Is This Answer Correct ? | 7 Yes | 1 No |
Answer / jerome.s,final year eee,adhipa
There i-is initialised by 10.
and j-also initialised by address of i.
so *j is the value in the address of j.
therefore,
*j=i=10.
OUTPUT:
10
| Is This Answer Correct ? | 7 Yes | 1 No |
Answer / ashish p
The answer is undefined.
int *j;
{ //prolog
int i=10;
j = &i;
}//epilog
in the above code , at the prolog level the variables are
pushed into a un-named function space on the stack. Whereas
at epilog level the variable i dies.
J contains address of valid memory location but invalid
contents. Since i's memory is release back, any other
program can claim it and over-ride the contenets. Unless
then if we try to print the content using J it will give us
the value 10.
Which is not recommended it is something like returning
reference to the local variable in a function.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / govind verma
i think ans will be 10 because here is the concept of dagling pointer......
| Is This Answer Correct ? | 0 Yes | 0 No |
Design an implement of the inputs functions for event mode
Display the time of the system and display the right time of the other country
main() { char p[ ]="%d\n"; p[1] = 'c'; printf(p,65); }
Write a program to receive an integer and find its octal equivalent?
#include<stdio.h> main() { int i=1,j=2; switch(i) { case 1: printf("GOOD"); break; case j: printf("BAD"); break; } }
how to return a multiple value from a function?
which function is used to clear the buffer stream on gcc? for example: I wrote following code on gcc #include<stdio.h> int main(void) { char ch; int a,b; printf("\nenter two numbers:\t"); scanf("%d%d",&a,&b); printf("enter number is %d and %d",a,b); printf("\nentercharacter:\t"); scanf("%c",&ch); printf("enter character is %c",ch); return 0; } in above progarm ch could not be scan. why?plz tell me solution.
void main() { while(1){ if(printf("%d",printf("%d"))) break; else continue; } }
code of a program in c language that ask a number and print its decremented and incremented number.. sample output: input number : 3 321123
main() { int i, j, *p; i = 25; j = 100; p = &i; // Address of i is assigned to pointer p printf("%f", i/(*p) ); // i is divided by pointer p } a. Runtime error. b. 1.00000 c. Compile error d. 0.00000
main() { int c[ ]={2.8,3.4,4,6.7,5}; int j,*p=c,*q=c; for(j=0;j<5;j++) { printf(" %d ",*c); ++q; } for(j=0;j<5;j++){ printf(" %d ",*p); ++p; } }
main() { int i=0; for(;i++;printf("%d",i)) ; printf("%d",i); }