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 |
output for following code??? main() { int x=2,y,z; x*=3+2; printf("1.%d\n",x); x*=y=z=4; printf("2.%d %d %d\n",x,y,z); x=y==z; printf("3.%d\n",x); x==(y=z); printf("%d",x); }
Stimulate calculators to perform addition,subtraction,multiplication and division on two numbers using if/else statement?
Can we change the value of #define in c?
What is a file descriptor in c?
Is null equal to 0 in sql?
Where are some collections of useful code fragments and examples?
how can i get the output 54321 4321 321 21 1 in c programming........???? pls help......
read a number & print all its devisors using c-program?
Difference between constant pointer and pointer to a constant.
Write a program that takes three variables(a,b,c) in as separate parameters and rotates the values stored so that value a goes to b,b,to c and c to a
What is the exact difference between '\0' and ""
what is an ERP?