Buscar

O programa realiza comparações entre duas strings verificando qual das duas aparece primeiro no dicionário, porém há um erro neste código. Assinale...

O programa realiza comparações entre duas strings verificando qual das duas aparece primeiro no dicionário, porém há um erro neste código. Assinale a alternativa que apresenta o erro no programa a seguir:


a. O teste da condicional nunca pode ser menor que 0.
b. Estão faltando as chaves para identificar os blocos na condicional.
c. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores.
d. As variáveis “a” e “b” deveriam ser declaradas como string e não char.
e. O programa não possui erro.

Essa pergunta também está no material:

QUESTIONÁRIO UNIDADE VI - LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO
9 pág.

Linguagem de Programação Estruturada Universidade PaulistaUniversidade Paulista

💡 1 Resposta

User badge image

Ed Verified user icon

O erro no programa apresentado é a alternativa B: Estão faltando as chaves para identificar os blocos na condicional. O código apresentado é o seguinte: ``` #include #include int main() { char a[100], b[100]; int retorno; printf("Digite a primeira string: "); gets(a); printf("Digite a segunda string: "); gets(b); retorno = strcmp(a, b); if(retorno < 0) printf("%s vem antes de %s no dicionario.\n", a, b); else if(retorno > 0) printf("%s vem depois de %s no dicionario.\n", a, b); else printf("%s e %s sao iguais no dicionario.\n", a, b); return 0; } ``` Na condicional `if(retorno < 0)`, não há chaves para identificar o bloco de código que deve ser executado caso a condição seja verdadeira. Isso pode levar a erros de lógica e dificultar a leitura do código. O correto seria utilizar chaves para identificar o bloco de código, como no exemplo abaixo: ``` if(retorno < 0) { printf("%s vem antes de %s no dicionario.\n", a, b); } else if(retorno > 0) { printf("%s vem depois de %s no dicionario.\n", a, b); } else { printf("%s e %s sao iguais no dicionario.\n", a, b); } ```

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais