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); } ```
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar