J'utilise C. J'ai des problèmes avec l'utilisation de pointeurs pour la fonction fscanf. Lorsque je tente de faire:Question concernant les pointeurs dans fscanf
int *x;
/* ... */
fscanf(file, "%d", x[i]);
Mon compilateur me donne un avertissement disant « argument de format n'est pas un pointeur » et le code juste ne fonctionne pas (je reçois un message disant « Water.exe a cessé de fonctionner »). Si je remplace x par * x, cela ne compile pas ... Est-ce juste un problème de syntaxe?
Je soupçonne qu'il se passe quelque chose d'important dans le "...". Pouvez-vous nous montrer la version complète du plus petit programme que vous pouvez faire pour le faire? C'est copier le programme, dépouiller autant que possible tout en obtenant toujours l'erreur. – dmckee
Aussi dans ce versino s'il vous plaît indiquer ce que vous voulez faire, il y a trop de "ne fonctionne pas" autour. –
Tant '* x' et' x [i] 'sont de type' int', pas de type 'int *' comme attendu par 'fscanf (fichier,"% d "...)'. Alors oui, c'est fondamentalement une erreur de syntaxe. En supposant que vous ayez alloué suffisamment d'espace pointé par 'x', c'est-à-dire, dans ce cas, vous vouliez écrire' fscanf (fichier, "% d", & x [i]) 'ou fscanf (fichier,"% d " x + i) '. – RBerteig