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 |
write a program to find out number of on bits in a number?
Which one to choose from 'initialization lists' or 'assignment', for the use in the constructor?
One of the Institutes contains 5 student groups. Every group contains 4 students. Institute wants to store student group’s details in array. Group should contain group member’s details (name and registration number and age), project name, and mark of the group.
If one class contains another class as a member, in what order are the two class constructors called a) Constructor for the member class is called first b) Constructor for the member class is called second c) Only one of the constructors is called d) all of the above
What is operator promotion?
What are types of functions?
Is null always equal to 0(zero)?
What is the output of following program ? int main() { int x = 5; printf("%d %d %d\n", x, x << 2, x >> 2); }
State the difference between realloc and free.
What is the use of f in c?
Describe how arrays can be passed to a user defined function
Write a program that accepts a string where multiple spaces are given in between the words. Print the string ignoring the multiple spaces. Example: Input: “ We Are Student “ Output: "We Are Student"