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 |
typedef struct error{int warning, error, exception;}error; main() { error g1; g1.error =1; printf("%d",g1.error); }
Write a program to implement the motion of a bouncing ball using a downward gravitational force and a ground-plane friction force. Initially the ball is to be projected in to space with a given velocity vector
#include <stdio.h> main() { char * str = "hello"; char * ptr = str; char least = 127; while (*ptr++) least = (*ptr<least ) ?*ptr :least; printf("%d",least); }
#include<stdio.h> void fun(int); int main() { int a; a=3; fun(a); printf("\n"); return 0; } void fun(int i) { if(n>0) { fun(--n); printf("%d",n); fun(--n); } } the answer is 0 1 2 0..someone explain how the code is executed..?
void pascal f(int i,int j,int k) { printf(ā%d %d %dā,i, j, k); } void cdecl f(int i,int j,int k) { printf(ā%d %d %dā,i, j, k); } main() { int i=10; f(i++,i++,i++); printf(" %d\n",i); i=10; f(i++,i++,i++); printf(" %d",i); }
#include <stdio.h> int main(void) { int a=4, b=2; a=b<<a+b>>2 ; printf("%d",a); return 0; }
#define int char main() { int i=65; printf("sizeof(i)=%d",sizeof(i)); }
main() { int i=-1,j=-1,k=0,l=2,m; m=i++&&j++&&k++||l++; printf("%d %d %d %d %d",i,j,k,l,m); }
How to count a sum, when the numbers are read from stdin and stored into a structure?
How do I write a program to print proper subset of given string . Eg :input: abc output:{},{a},{b},{c},{a,b},{a,c},{b,c}, {a,b,c}.I desperately need this program please mail me to saravana6m@gmail.com
1. const char *a; 2. char* const a; 3. char const *a; -Differentiate the above declarations.
main() { printf("%x",-1<<4); }