该程序不会在fgets
函数中编译teste1
。或者至少它没有正常工作,它不会让我输入字符串,程序将在打印后立即结束" Nome do cliente"。
如果我停用了该功能中的其他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();
}
答案 0 :(得分:1)
您为最后scanf
输入按下的 Enter 键将作为换行符保留在输入缓冲区中。 fgets
函数将读取此换行符并认为它已完成。