what is difference between ++(*p) and (*p)++
Answers were Sorted based on User's Feedback
Answer / umamaheswari
p is a pointer variable which is holding the address of
another variable ,*p indicates the value that stored in
particular address
++(*p)-the value of the particular variable which is stored
in p is first incremented and used by next instruction
(*p)++ -the value of the particular variable which is
stored is executed or used by next instruction as it is
what it was,if it is any looping statement first time the
loop will be executed with the original value while doing
the second looping it is incremented by 1
| Is This Answer Correct ? | 3 Yes | 2 No |
++(*p) (or) ++*p -> Pre-increment the Value
(*p)++ -> Post-increment the value
*++p -> Increment the Position and then obtain the Value
*p++ (or) *(p++) -> Obtain the Value and then increment the Position
Example:
#include<stdio.h>
void main()
{
char str[10] = "Helyo";
char *p = str;
printf("%c
",++(*p)); // Pre-Increment the Value -> I
printf("%c
",++*p); // Pre-Increment the value -> J
printf("%c
",(*p)++); // Post-Increment the value -> J and increment to K
printf("%c
",*p++); // Post-Increment the position -> K and move to next position i.e. e
printf("%c
",*(p++)); // Post-Increment the position -> e and move to next position i.e. l
printf("%c
",*++p); // Pre-Increment the position and obtain value -> y
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / srinivas
++(*p)as this means the first the addres is increneted and
then address is assgined
*p++ as this mean that the address is assign to it then the
address is incremented
| Is This Answer Correct ? | 1 Yes | 2 No |
++(*p)-> Here ,increments the address of p
(*p)++ -> Here , Increments the Value of p
| Is This Answer Correct ? | 5 Yes | 9 No |
Answer / sonal
++(*p) it will increase pointer value to one value
(*p)++ will refer to next memory location
| Is This Answer Correct ? | 1 Yes | 5 No |
Answer / pradeep......
Both are same ..................
reult will not differ in both operations....
#include <stdio.h>
#include <stdlib.h>
//#include <ctype.h>
void main()
{
char *ptr="hello";
clrscr();
//++(*ptr);
(*ptr)++;
printf("%s\n",ptr);
getch();
}
check this code..........
| Is This Answer Correct ? | 1 Yes | 8 No |
Answer / savita
++(*p) means address that contained in p is incremented.
(*p)++ in this case since both the operator are unary
operator , so it's priority is from right to left.Hence here
first address that contained in p is incremented & then
gives the value at that address.
| Is This Answer Correct ? | 0 Yes | 8 No |
What are c header files?
a.One Cannot Take the address of a Bit Field b.bit fields cannot be arrayed c.Bit-Fields are machine Dependant d.Bit-fields cannot be declared as static Which of the Following Statements are true w.r.t Bit-Fields A)a,b&c B)Only a & b C)Only c D)All
3 Answers Accenture, Digg.com,
Difference between Class and Struct.
13 Answers Ericsson, Motorola, Wipro,
Is fortran faster than c?
What are the output(s) for the following ? #include char *f() {char *s=malloc(8); strcpy(s,"goodbye")} main() { char *f(); printf("%c",*f()='A'); }
Explain is it better to bitshift a value than to multiply by 2?
Program to find the absolute value of given integer using Conditional Operators
write a c program to find largest of three numbers using simple if only for one time.
What are the preprocessors?
What are volatile variables in c?
can anyone please tell me wat is backlogs... i was looking for the job openings where i read this.. eligibility criteria minimum 70% in degree without backlogs. is that arrear.. if so is it standing arrear or history of arrears... please help me...
11 Answers CTS, Indian Navy, L&T, Microsoft, SSB, TCE, TCS,
What is time null in c?