Quizz question langage c
Pas_daccord
-
Ravachol Messages postés 568 Statut Membre -
Ravachol Messages postés 568 Statut Membre -
Bonjour,
Voici une question du quizz :
# Qu'imprime l'extrait de programme suivant en langage c: char * p="abc" *(p+1)++ print f("%s",p)
* ab
* abd
* bbc
* acc --> reponse
* bc
* abc
???? Alors la ya une erreur ou faut que quelqun m'explique!
Deja ca compile pas (ou sont les ; ;p).
Ensuite il me semble qu'il manque la reponse Seg Fault ! (pour remplacer acc)
Enfin *(p+1)++; incrementrait le pointeur et non le pointe, la reponse devrait donc etre abc.
Je ne prend pas la peine de chercher plus loin mais serait heureux dans discuter :)
Voici une question du quizz :
# Qu'imprime l'extrait de programme suivant en langage c: char * p="abc" *(p+1)++ print f("%s",p)
* ab
* abd
* bbc
* acc --> reponse
* bc
* abc
???? Alors la ya une erreur ou faut que quelqun m'explique!
Deja ca compile pas (ou sont les ; ;p).
Ensuite il me semble qu'il manque la reponse Seg Fault ! (pour remplacer acc)
Enfin *(p+1)++; incrementrait le pointeur et non le pointe, la reponse devrait donc etre abc.
Je ne prend pas la peine de chercher plus loin mais serait heureux dans discuter :)
2 réponses
Re -
D'ailleurs ca compile deux fois moins (sans doute pas avec tout les compilateurs) puisque (p + 1) n'est pas une reference valide a incrementer. (L'incrementation ne sert a rien, pas de trace du pointeur incrementer apres l'operation).
D'ailleurs ca compile deux fois moins (sans doute pas avec tout les compilateurs) puisque (p + 1) n'est pas une reference valide a incrementer. (L'incrementation ne sert a rien, pas de trace du pointeur incrementer apres l'operation).