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 |
main() { signed int bit=512, i=5; for(;i;i--) { printf("%d\n", bit = (bit >> (i - (i -1)))); } } a. 512, 256, 128, 64, 32 b. 256, 128, 64, 32, 16 c. 128, 64, 32, 16, 8 d. 64, 32, 16, 8, 4
Finding a number multiplication of 8 with out using arithmetic operator
main() { int *ptr=(int*)malloc(sizeof(int)); *ptr=4; printf("%d",(*ptr)+++*ptr++); }
Write a C program to print ‘Campus Force training’ without using even a single semicolon in the program.
main() { int i=300; char *ptr = &i; *++ptr=2; printf("%d",i); }
main() { char string[]="Hello World"; display(string); } void display(char *string) { printf("%s",string); }
Write a program using one dimensional array to assign values and then display it on the screen. Use the formula a[i]=i*10 to assign value to an element.
1 Answers Samar State University,
main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcpy(a,b)); } a. “Hello” b. “Hello World” c. “HelloWorld” d. None of the above
4 Answers Corporate Society, HCL,
what is variable length argument list?
Implement a t9 mobile dictionary. (Give code with explanation )
1 Answers Amazon, Peak6, Yahoo,
main() { clrscr(); } clrscr();
What is the output for the following program main() { int arr2D[3][3]; printf("%d\n", ((arr2D==* arr2D)&&(* arr2D == arr2D[0])) ); }