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 |
void main(int argc,char *argv[],char *env[]) { int i; for(i=1;i<argc;i++) printf("%s",env[i]); }
What are the scope of static variables?
What is the difference between typeof(foo) and myFoo.GetType()?
difference between string and array?
‘ C’ PROGRAME TO SHOW THE TYPE OF TRANGLE BY ACCEPTING IT’S LENGTH .
What are advantages and disadvantages of recursive calling ?
12 Answers College School Exams Tests, Evolving Systems, HP, Jyoti Ltd, Sage, Wipro,
What will the preprocessor do for a program?
What are the complete rules for header file searching?
what is the flow of execution in cprogram? ex:printf();,scanf();
Write a c program to print the even numbers followed by odd numbers in an array without using additional array
sir i wanted to know how we wap in c to add numbers without using arithmetic operator in which digits are entered by user?
Write a C/C++ program to add a user to MySQL. The user should be permitted to only "INSERT" into the given database
2 Answers TCS, Unisys, Webyog,