Uma função é um conjunto de instruções para executar uma tarefa específica. Sem escrever todas as instruções no mesmo programa, ele pode ser dividido em várias funções. Na programação, o usuário pode definir suas próprias funções. Também existem funções fornecidas pelas linguagens de programação. A linguagem C fornece várias funções, para que o programador possa usá-las diretamente sem implementá-las desde o início. Duas dessas funções fornecidas pela linguagem C são scanf e gets. Este artigo discute a diferença entre essas duas funções. o diferença chave entre scanf e recebe é que O scanf termina recebendo a entrada ao encontrar um espaço em branco, nova linha ou Fim do arquivo (EOF), enquanto obtém considera um espaço em branco como parte da sequência de entrada e termina a entrada ao encontrar uma nova linha ou EOF.
1. Visão geral e principais diferenças
2. O que é scanf
3. O que é ganho
4. Semelhanças entre scanf e gets
5. Comparação lado a lado - scanf vs fica em forma de tabela
6. Resumo
A função scanf pode ler as entradas do teclado e armazená-las de acordo com o especificador de formato fornecido. Ele lê a entrada até encontrar um espaço em branco, nova linha ou EOF. A sintaxe é a seguinte.
scanf (“string de formato”, lista de endereços de variáveis);
Consulte o exemplo abaixo para entender o scanf.
Figura 01: scanf com uma entrada
De acordo com o programa acima, a entrada do teclado é um número inteiro; portanto, o especificador de formato é% d. Se estiver obtendo um valor de caractere, o especificador de formato é% c. Se você obtiver um valor de ponto flutuante, o especificador de formato é% f. O valor de entrada recebido deve ser armazenado na variável numérica. Portanto, o endereço do número da variável é passado para a função scanf. Agora, a variável numérica contém o valor fornecido pelo usuário no teclado. Finalmente, podemos imprimir a variável numérica para verificar o valor.
Também é possível receber mais de um valor por vez.
Figura 02: scanf com múltiplas entradas
As entradas recebidas são armazenadas nas variáveis número1 e número2. Os valores podem ser verificados usando printf.
A função get está sendo usada para receber entrada do teclado até encontrar uma nova linha ou EOF. O espaço em branco é considerado como parte da entrada. A sintaxe da função gets é a seguinte.
gets (“onde armazenar a string”);
Se houver um erro ao receber a string, a função gets retornará um valor nulo.
Consulte o exemplo abaixo,
Figura 03: obtém
A entrada é recebida pela função gets e armazenada na variável word1. Se o programador usou o scanf em vez de obtém e insere uma sequência como "hello world", o scanf lerá a sequência como duas sequências devido ao espaço em branco. Mas o get lerá como uma string "olá mundo".
scanf vs gets | |
scanf é uma função C para ler entradas da entrada padrão até encontrar um espaço em branco, nova linha ou EOF. | gets é uma função C para ler a entrada da entrada padrão até encontrar uma nova linha ou EOF. Ele considera o espaço em branco como parte da entrada. |
Sintaxe | |
A função scanf utiliza a string de formato e a lista de endereços de variáveis. por exemplo. scanf ("% d", & número); | A função gets pega o nome da variável para armazenar o valor recebido. Por exemplo. gets (nome); |
Flexibilidade | |
O scanf pode ler vários valores de diferentes tipos de dados. | gets () obterá apenas dados da cadeia de caracteres. |
scanf e gets são funções fornecidas pela linguagem de programação C. O usuário não precisa implementar essas funções desde o início. Eles podem usá-los diretamente em seus programas. A diferença entre scanf e gets é que, scanf termina recebendo entrada ao encontrar um espaço em branco, nova linha ou Fim do arquivo (EOF) e obtém considera um espaço em branco como parte da sequência de entrada e termina a entrada ao encontrar nova linha ou EOF. O uso do scanf ou gets depende da maneira de receber a entrada do usuário da entrada padrão, que é o teclado na maioria das vezes. scanf é mais flexível do que recebe.
Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui Diferença entre scanf e gets
1.LearningLad., 'Função Scanf () nos Tutoriais em Vídeo em Linguagem de Programação C' YouTube, YouTube, 23 de abril de 2013. Disponível aqui
2.LearningLad, 'função de entrada de string gets () no Tutorial em Vídeo em Linguagem de Programação C', YouTube, YouTube, 6 de maio de 2013. Disponível aqui