J'ai le code suivant:Besoin d'écrire sur une chaîne de caractères constante, comment puis-je contourner cela?
int main() {
char *sPPhrase[51];
/* Input */
printf("Enter string (max. 50 chars):\n");
fflush(stdout); /* Works around an annoying Eclipse bug that fails to display the output from the printf command */
scanf("%s", *sPPhrase); /* Won't work */
/* More code goes here */
}
La commande scanf()
échoue, je suppose, parce que * sPPhrase n'est pas inscriptible en tant que points sPPhrase à une chaîne constante. Le compilateur n'a aucune idée de quoi que ce soit qui ne va pas. Un peu plus tard, je dois transmettre cette chaîne à cette fonction:
char* reverse(char* sPPhrase[]);
La chaîne est pas accessible en écriture constante, mais je dois passer ce char * à cette fonction. Comment réécrire mon code pour le faire fonctionner?
Et changer scanf en scanf ("% s", sPPhrase); –
Également besoin de mettre à jour le scanf à scanf ("% s", sPPhrase) – zebrabox
Alors comment appeler la fonction?'char * sPReverse = reverse (sPPhrase);' génère cette erreur: "en passant arg 1 de' reverse 'd'un type de pointeur incompatible " – Pieter