Das Programm kompiliert fgets
in der teste1
Funktion nicht. Oder zumindest funktioniert es nicht richtig, es lässt mich nicht die Zeichenfolge eingeben, das Programm wird beendet, nachdem es "Nome do cliente" gedruckt hat.fgets werden wahrscheinlich wegen anderer scanfs ignoriert
Wenn ich die anderen scanf
in der Funktion deaktiviert, wird es ohne irgendein Problem laufen.
Wie mache ich Fgets zum Arbeiten?
#include <stdio.h>
void teste1(){
char teste[50];
printf("Nome do cliente\n");
fgets(teste,50,stdin);
}
void teste2(){
teste1();
}
void teste3(){
int opc1,opc2;
printf("\nSeleccione a área desejada\n1- Clientes\n2- Concessionários\n3- Carros de demonstração\n");
scanf("%d",&opc1);
printf("\nSeleccione a área desejada\n1- Inserir\n2- Alterar\n3- Remover\n4- Consultar\n");
scanf("%d",&opc2);
teste2();
}
int main()
{
teste3();
}
Also ... was ist die Frage? –
Wie mache ich Fgets zum Arbeiten? – xickoh
Sie sollten sehr vorsichtig sein, wenn Sie behaupten, dass der Compiler sich schlecht benimmt - das ist hier sicherlich nicht das Problem; Ihr Code macht eine falsche Annahme, wie 'scanf()' ganze Zahlen liest. –