Ir ao conteúdo

Posts recomendados

Postado

Sou iniciante em C e estou fazendo um programa com o seguinte enunciado:  Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a'e substitua os que forem iguais a 'a'por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada.

 

Meu programa está modificando as letras mas o contador não contabiliza essas trocas, alguém pode me dizer o que está errado

 

#include<stdio.h>

   int main ()

   

{

   char string[100];

   int i, cont;

   printf("\n digite uma string: ");

   gets(string);

   printf("\n você digitou: %s", string);

   cont=0;

   for (i=0; string != '\0'; i=i+1)

   {

      if ( string == 'a' )

               string = 'b';

                   cont=cont+1;

   }

   

   printf("\n o número de converções foi: %d", cont);

   printf("\n a nova palavra é: %s", string);

   return(0);

}

  • Amei 1
Postado

Bom dia @rafa1234567

7 minutos atrás, rafa1234567 disse:

if ( string == 'a' )

               string = 'b';

                   cont=cont+1;

 

Como são duas instruções dentro do if você tem que usar o {} se não ele só vai colocar a primeira dentro do if.

 

Seu if deveria estar assim:

 

if (string == 'a'){
    string = 'b';
    cont=cont+1;  
}

 

Espero ter ajudado :D 

  • Curtir 3

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!