int *p=20;
if u print like dis printf("%d",p);
o\p:- 20; how is it possible?
plz give me the explanation.
Answers were Sorted based on User's Feedback
We are assigning 20 to *p. Which means we are assigning the
address 20 to p. when you want to print the address of the
pointer variable we have to print just p not *p. if you want
to print the value stored in the particular address we need
to print like *p. in this case we are printing p so it will
give the address 20 to it.
| Is This Answer Correct ? | 31 Yes | 5 No |
Answer / valli
int *p=20;
means
int *p;
p=20;
so the address of p is 20
printf("%d",p);
it prints 20 because now the base address of p is 20
even if we print as
printf("%u",p);
the o/p will be 20
| Is This Answer Correct ? | 9 Yes | 2 No |
Answer / yogi
int *p=20;
This is like int *p;p=20;
printf("%d",p);It prints p properly as 20;
printf("%d",*p);It means deference the value at address 20,
which is invalid .
If we try to run,as address 20 is invalid and it tries to
fetch the value at address 20,signal 11 sent to that process
i.e it dumps core with segmentation fault
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / thunder
GIVES THE ERROR DURING COMPILATION.
*P means IT CAN STORE ADDRESS NOT ANY INTEGER VALUE.
| Is This Answer Correct ? | 6 Yes | 5 No |
Answer / saikishore
correct ans is
int *p ; // creating a pointer of integer type
*p=20; // we are creating memory for 20 and p is pointing to
it .
printf("%d",p); // prints p 's address
printf("%d",*p); // prints value pointed by p . i.e 20
wrong declarations
we
ERRORS 1.int *p=20;
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / udanesh
int *p=20 means
int *p;
p=20;
so when you print the value of p definitely you will get the output as 20 because the value of p is 20
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / sangram
p is a pointer and it holds address.
we are assigning 20 to p;it means pointer p points the value pointed by address 20.
so to show the value on address 20 you have give *p
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / deepak
/*int *p=20;
is same as*/
int *p;
p=20;
so p having address of an integer value;
so
printf("%d,%u",p,p);
will give you answer 20,20
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / sateeshbabu aluri
we are not printing the address of variable
it mens &p;
we are printing value of p.
so,P=20 will be the o/p.
| Is This Answer Correct ? | 3 Yes | 5 No |
Answer / ankit
it will show compiler error as we are trying to assign integer value to pointer variable.
| Is This Answer Correct ? | 1 Yes | 3 No |
write aprogram for There is a mobile keypad with numbers 0-9 and alphabets on it. take input of 7 keys and then form a word from the alphabets present on those keys.
1 Answers iGate, Shashi, Source Bits, Subex,
write a program that will print %d in the output screen??
what is difference between C and C++
What is merge sort in c?
What is the output of the program given below #include<stdio.h> main() { char i=0; for(;i>=0;i++) ; printf("%d\n",i); }
21 Answers ADITI, Student, TCS,
How to write a C program to determine the smallest among three nos using conditional operator?
What is data type long in c?
character array A[12] can hold
a) Identify the following declarations. Ex. int i (integer variable) float a[l0](array of 10 real nos) int (*f())() void *f int (*f()) [] void *f int f[] [] [] char *(*f) () int (*f[]) [] float(*f) [] [] float **f int ******f
write a program in c language for the multiplication of two matrices using pointers?
How can I insert or delete a line (or record) in the middle of a file?
What kind of structure is a house?