En C/C++, la precedencia de Prefix ++ (o Prefix –) tiene la misma prioridad que el operador de desreferencia (*), y la precedencia de Postfix ++ (o Postfix –) es mayor que Prefix ++ y *.
Si p es un puntero, entonces *p++ es equivalente a *(p++) y ++*p es equivalente a ++(*p) (tanto el Prefijo ++ como * son asociativos por la derecha).
Por ejemplo, el programa 1 imprime ‘h’ y el programa 2 imprime ‘e’ .
C++
// Program 1 // C++ program to explain the precedence of 'Prefix ++' #include <iostream> using namespace std; int main() { char arr[] = "geeksforgeeks"; char *p = arr; ++*p; cout << *p; return 0; } // This code is contributed by sarajadhav12052009
C
// Program 1 #include<stdio.h> int main() { char arr[] = "geeksforgeeks"; char *p = arr; ++*p; printf(" %c", *p); getchar(); return 0; }
Producción
h
C++
// Program 2 // C++ Program to explain the precedence of 'Postfix ++' #include <iostream> using namespace std; int main() { char arr[] = "geeksforgeeks"; char *p = arr; *p++; cout << *p; return 0; } // This code is contributed by sarajadhav12052009
C
// Program 2 #include<stdio.h> int main() { char arr[] = "geeksforgeeks"; char *p = arr; *p++; printf(" %c", *p); getchar(); return 0; }
Producción
e
Programa para saber el apellido de una persona
C++
// C++ program that tells a person's last name #include <iostream> using namespace std; int main() { string fullName[] = {"Joe", "Donaldson"}; string *ptr = fullName; cout << *ptr << "'s Last Name is "; *ptr++; cout << *ptr << endl; } // This code is contributed by sarajadhav12052009
Producción
Joe's Last Name is Donaldson
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA