teste1
機能でプログラムはfgets
をコンパイルしません。または少なくともそれが正しく動作していない、それは文字列を入力することはできません、プログラムは "Nome do cliente"を印刷した直後に終了します。fgetsは他のscanfのためにおそらく無視されます
scanf
の機能を無効にすると、問題なく実行されます。
fgetsを動作させるにはどうすればよいですか?
#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();
}
だから何が問題なのですか? –
fgetsを動作させるにはどうすればよいですか? – xickoh
コンパイラが誤動作していると主張することには非常に慎重でなければなりません。あなたのコードは、 'scanf()'がどのように整数を読み込むかについて誤った仮定をしています。 –