Question C très simple en utilisant getchar () et putchar ()
Question
Bonjour, je m'apprends à moi-même et je passe par le livre K&R et j'ai des problèmes (je dirige OS X). Ceci provient de la section 1.5.1 "Copie de fichiers" qui est censé prendre un caractère comme entrée, puis publier le caractère. Voici le code:
#include <stdio.h>
/* -- Copy input to output -- */
int main(void)
{
int c;
c = getchar();
while ( c != EOF ) {
putchar(c);
c = getchar;
}
}
Donc, je pense que mon problème n'est pas avec le code lui-même mais avec le complisation et l'exécution. Tout d'abord, lors de la compilation, j'obtiens les erreurs suivantes
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c: In function ‘main’:
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c:12: warning: assignment makes integer from pointer without a cast
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c:16: warning: control reaches end of non-void function
Ensuite, lorsque j'exécute le fichier de sortie (dans le terminal), il a un petit espace, puis lorsque je saisis une lettre, disons que je tape
un
Puis j'ai frappé le retour
Et j'obtiens une nouvelle ligne. Si je frappe ensuite une nouvelle clé, l'écran commence à devenir fou avec des points d'interrogation partout.
Je ne sais pas si j'ai beaucoup de sens, mais je trouve cela un problème étrange à avoir. Merci beaucoup d'avance
Pas de solution correcte