Funcionou sim, amigo! Como após o nome eu também executei um comando de texto, não precisei colocar "%*c", mas se eu tivesse que ler uma variável inteira, aí sim eu precisaria colocar:
int idade, peso;
char nome[50];
char estado [30];
printf("Digite sua idade: ");
scanf("%d%*c", &idade); // aqui o %*c evitou que o enter entrasse na variável nome
printf("Digite seu nome completo: ");
gets(nome);
printf("digite seu peso: ");
scanf("%d%*c", &peso); // aqui não foi necessário o %*c porque não li nenhum texto após o enter
printf("digite seu estado: ");
gets(estado);
adicionado 10 minutos depois
Na real, funcionou das duas formas:
assim:
int idade, peso;
char nome[50];
char estado [30];
printf("Digite sua idade: ");
scanf("%d%*c", &idade); // aqui o %*c evitou que o enter entrasse na variável nome
printf("Digite seu nome completo: ");
gets(nome);
printf("digite seu peso: ");
scanf("%d%*c", &peso); // aqui não foi necessário o %*c porque não li nenhum texto após o enter
printf("digite seu estado: ");
gets(estado);
e assim:
int idade, peso;
char nome[50];
char estado [30];
printf("Digite sua idade: ");
scanf("%d%*c", &idade); // aqui o %*c evitou que o enter entrasse na variável nome
printf("Digite seu nome completo: ");
gets(nome);
printf("digite seu estado: ");
gets(estado);
printf("digite seu peso: ");
scanf("%d", &peso); // aqui não foi necessário o %*c porque não li nenhum texto após o enter
Pelo que eu entendi, você só precisa colocar o "%*c" após colocar uma variável do tipo inteiro onde logo o próximo comando vai ser uma variável do tipo caractere. Fora dessa condição, não precisa colocar. Fiz o teste aqui e deu certo hehe
adicionado 13 minutos depois
Vou tentar aqui. Obrigada!!!