- Liste item
J'ai un problème à l'aide getchar()
method.What Je suis en train de calculer est un petit simulateur de montage avec 8 commandes qui sont écrites par l'utilisateur sous la forme ADD Rx Ry
où Rx
et Ry
sont les registres. Je ne suis pas autorisé à utiliser des chaînes ni des tableaux, donc la seule option est de lire char par char.GetChar() fonction étrange
Mon problème est que je ne sais pas comment lire plusieurs caractères d'une ligne de texte d'entrée et de le mettre dans l'exemple variables.For, ADD Rx Ry
Je veux stocker dans A
ch1
, D
dans ch2
et D
dans ch3
puis sauter l'espace vérifier R
et stocker x
dans une variable, puis la même chose pour y
.
La chose étrange est que lorsque je l'entrée de la deuxième commande après la première, le programme qui est illustré ci-dessous juste ne montrerais pas les mêmes valeurs d'impression exactes (l'impression est juste pour le débogage)
do{
ch1=getchar();
ch2=getchar();
ch3=getchar();
if(ch1=='E' && ch2=='N'&& ch3=='D'){
break;
}
printf("%c",ch1);
printf("%c",ch2);
printf("%c",ch3);
}while(1);
Quelle entrée donnez-vous? Inclut-il les nouvelles lignes? Lisez-vous la nouvelle ligne? Quel résultat attendiez-vous? Quel résultat obtenez-vous? –
Vous devez également lire le saut de ligne. –