Logo Passei Direto
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 a alternativa que apresenta o erro no programa a seguir:

#include
#include

void main()
{
char *a, *b;
*a = "abacate";
*b = "uva";
if (strcmp(a, b) < 0 )
printf ("%s vem antes de %s no dicionário \n", a, b);
else
printf ("%s vem depois de %s no dicionário \n", a, b);
}


As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores.
O teste da condicional nunca pode ser menor que 0.
Estão faltando as chaves para identificar os blocos na condicional.
User badge image
Exercícios Para o Aprendizado

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

Vamos analisar as alternativas apresentadas em relação ao código fornecido. 1. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores. Correto! As variáveis `a` e `b` estão sendo usadas como ponteiros, mas não foram alocadas corretamente. Deveriam ser declaradas como arrays de caracteres ou inicializadas corretamente. 2. O teste da condicional nunca pode ser menor que 0. Incorreto! O teste `strcmp(a, b) < 0` é válido e indica que `a` vem antes de `b` no dicionário. 3. Estão faltando as chaves para identificar os blocos na condicional. Incorreto! As chaves são opcionais em C para blocos de uma única linha, então o código funcionaria mesmo sem elas. Portanto, a alternativa que apresenta o erro no programa é: As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

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

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina