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 |
what is the purpose of the code, and is there any problem with the code? int f( int n, int l, int r ) { return (n << l) >> r; }
What is a const pointer in c?
How can I return multiple values from a function?
how memory store byte
Program to find the value of e raised to power x using while loop
why i join syntel?
23 Answers ABC, Syntel, TCS,
multiple of 9 without useing +,* oprator
Is it acceptable to declare/define a variable in a c header?
Write a function stroverlap that takes (at least) two strings, and concatenates them, but does not duplicate any overlap. You only need to worry about overlaps between the end of the first string and the beginning of the second string. Examples: batman, manonthemoon = batmanonthemoon batmmamaman, mamamanonthemoon = batmmamamanonthemoon bat, man = batman batman, batman = batman batman, menonthemoon = batmanmenonthemoon
What are different types of operators?
Write an algorithm for a program that receives an integer as input and outputs the product of of its digits. E.g. 1234 = 24, 705 = 0
What is the best style for code layout in c?