otavio.oivato Postado Maio 11, 2022 Denunciar Share Postado Maio 11, 2022 Olá Pessoal, Executei um programa, e ele pula os scanf quando dou um espaço ou uma virgula no meio de uma palavra que estou digitando #include <stdio.h> int main(){ char nome[30]; char discriminacao[40]; float valor = 0; char data[10]; printf("digite o nome\n"); scanf(" %s ", nome); printf("digite a discriminação\n"); scanf(" %s ", discriminacao); printf("digite o valor\n"); scanf(" %f ", &valor); printf("digite a data\n"); scanf(" %s ", data); return 0; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 4ng3lo Postado Maio 12, 2022 Denunciar Share Postado Maio 12, 2022 Boa tarde , otavio.oivato. Faça uma pesquisa no google; procure por "limpeza do buffer de entrada(teclado)". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Aristóteles Postado Maio 12, 2022 Denunciar Share Postado Maio 12, 2022 Para esse propósito, existe a função fgets, existe um ajuste no scanf e a função gets que não é nada bom usar. Função fgets: *fgets (char *str, int tamanho, FILE *fp) #include <stdio.h> #include <stdlib.h> int main() { char string [50]; printf("Digite qualquer coisa com espaços: "); fgets(string, 50, stdin); printf("Imprimindo a string com espaços: %s\n", string); return 0; } Função gets (não recomendado): *gets (char *s) #include <stdio.h> #include <stdlib.h> int main() { char string [50]; printf("Digite qualquer coisa com espaços: "); gets (string); printf("Imprimindo a string com espaços: %s\n", string); return 0; } Um ajuste no scanf: scanf ("%[^\n]", string_com_espaços); #include <stdio.h> #include <stdlib.h> int main() { char string [50]; printf("Digite qualquer coisa com espaços: "); scanf ("%[^\n]", string); printf("Imprimindo a string com espaços: %s\n", string); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
otavio.oivato
Olá Pessoal,
Executei um programa, e ele pula os scanf quando dou um espaço ou uma virgula no meio de uma palavra que estou digitando
#include <stdio.h>
int main(){
char nome[30];
char discriminacao[40];
float valor = 0;
char data[10];
printf("digite o nome\n");
scanf(" %s ", nome);
printf("digite a discriminação\n");
scanf(" %s ", discriminacao);
printf("digite o valor\n");
scanf(" %f ", &valor);
printf("digite a data\n");
scanf(" %s ", data);
return 0;
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.