Logo Passei Direto
Buscar

Inglês

UNICESUMAR
Uma equipe de desenvolvimento de jogos está criando um sistema de cadastro de jogadores que utiliza strings para armazenar nomes de usuário. Durante os testes, foi descoberto que alguns nomes não estavam sendo armazenados corretamente quando continham espaços em branco, como "João Silva" ou "Ana Carolina". O programador júnior relatou que estava usando a função scanf() para ler os nomes, mas estava ocorrendo um comportamento inesperado onde apenas a primeira palavra era capturada. O líder técnico explicou que existem diferenças importantes entre as funções de entrada de dados para strings em C, e que a escolha da função adequada depende do tipo de entrada que se espera receber do usuário. Considerando as informações apresentadas, avalie as asserções a seguir e a relação proposta entre elas: I. A função scanf() com %s interrompe a leitura quando encontra um espaço em branco, sendo inadequada para strings que contenham espaços. PORQUE II. A função gets() lê caracteres até encontrar o caractere de nova linha (\n), permitindo a leitura de strings com espaços em branco. A respeito dessas asserções, assinale a opção correta.
User badge image
giovani sabino

há 14 horas

Respostas

User badge image

Ed Verified user icon

há 14 horas

Vamos analisar as asserções: I. A função scanf() com %s interrompe a leitura quando encontra um espaço em branco, sendo inadequada para strings que contenham espaços. Verdadeiro, essa afirmação está correta. A função scanf() com o especificador %s lê até encontrar um espaço em branco, o que significa que apenas a primeira palavra é capturada. II. A função gets() lê caracteres até encontrar o caractere de nova linha (\n), permitindo a leitura de strings com espaços em branco. Verdadeiro, essa afirmação também está correta. A função gets() lê toda a linha até o caractere de nova linha, permitindo que espaços em branco sejam incluídos na string. Agora, vamos considerar a relação entre as duas asserções. A primeira afirmação explica por que a função scanf() não é adequada para ler nomes com espaços, enquanto a segunda afirmação apresenta uma alternativa (gets()) que resolve esse problema. Portanto, ambas as asserções são verdadeiras e a relação entre elas é correta. A opção correta é que ambas as asserções são verdadeiras e a segunda justifica a primeira.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina