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 |
What is the output of the program given below main() { signed char i=0; for(;i>=0;i++) ; printf("%d\n",i); }
Write a Program in 'C' To Insert a Unique Number Only. (Hint: Just Like a Primary Key Numbers In Database.) Please Some One Suggest Me a Better Solution for This question ??
void main() { static int i=5; if(--i){ main(); printf("%d ",i); } }
char inputString[100] = {0}; To get string input from the keyboard which one of the following is better? 1) gets(inputString) 2) fgets(inputString, sizeof(inputString), fp)
There is a lucky draw held every day. if there is a winning number eg 1876,then all possible numbers like 1867,1687,1768 etc are the numbers that match irrespective of the position of the digit. Thus all these numbers qualify fr the lucky draw prize Assume there is no zero digit in any numbers. write a program to show all the possible winning numbers if a "winning number"is passed as an arguments to the function.
#include<stdio.h> main() { const int i=4; float j; j = ++i; printf("%d %f", i,++j); }
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 a=2,*f1,*f2; f1=f2=&a; *f2+=*f2+=a+=2.5; printf("\n%d %d %d",a,*f1,*f2); }
func(a,b) int a,b; { return( a= (a==b) ); } main() { int process(),func(); printf("The value of process is %d !\n ",process(func,3,6)); } process(pf,val1,val2) int (*pf) (); int val1,val2; { return((*pf) (val1,val2)); }
#define clrscr() 100 main() { clrscr(); printf("%d\n",clrscr()); }
void main() { int i; char a[]="\0"; if(printf("%s\n",a)) printf("Ok here \n"); else printf("Forget it\n"); }
Write a program that produces these three columns sequence nos. using loop statement Sequence nos. Squared Squared + 5 1 1 6 2 4 9 3 9 14 4 16 21 5 25 30