Ir ao conteúdo
  • Cadastre-se

Ajuda para encontrar erro


andtoz

Posts recomendados

Bom dia caros amigos, estou com um problema com um código e gostaria que me sjudassem por favor.Ele compila e hifeniza a palavra mas trava o programa.Se puderem me ajudar agradeço.Segue o código:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

void hifeniza(char* palavra) {
int n = strlen(palavra);
for(int i=0;i<n;i++) {
printf("%c",palavra[i]);
if( i!= n-1)
printf("-");
else;
}
}

int main()
{
char p[100];
int x;
printf("Digite uma palavra: \n");
gets(p);
hifeniza(p);
printf("%c",p[x]);
getch();
return(0);
}

Link para o comentário
Compartilhar em outros sites

Tem duas coisas a serem consideradas em seu código:

1) O uso da função gets(). Como ela não possui um mecanismo para limitar o tamanho da string que será recebida, pode ser que a string seja maior que o tamanho da variável. Prefira a função fgets(); e

2) Não entendi qual o significado do trecho "printf("%c",p[x]);", mas se você quiser usá-lo tem que inicializar a variável x com algum valor válido para o vetor p[].

Abraços.

Link para o comentário
Compartilhar em outros sites

Meu amigo aqui deu certo se o que quer ( se eu entendi bem ) .

Compilei com DevC++ , apareceu o prompt e digitei a palavra : Seingalt

O resultado foi , S-e-i-n-g-a-l-t

É isso quer você quer ? Poxa aqui deu normal !!!

Aqui também deu certo, aparece a palavra hifenizada,mas o programa trava logo em seguida.

Link para o comentário
Compartilhar em outros sites

Tem duas coisas a serem consideradas em seu código:

1) O uso da função gets(). Como ela não possui um mecanismo para limitar o tamanho da string que será recebida, pode ser que a string seja maior que o tamanho da variável. Prefira a função fgets(); e

2) Não entendi qual o significado do trecho "printf("%c",p[x]);", mas se você quiser usá-lo tem que inicializar a variável x com algum valor válido para o vetor p[].

Abraços.

Na verdade e preciso imprimir a palavra que foi digitada e hifenizada pela função.Usei o printf com %s , mas da na mesma,o programa mostra a palavra hifenizada e trava logo em seguida.

Link para o comentário
Compartilhar em outros sites

brow, como foi falado anteriormente pelo task, a palavra hifenizada ja esta sendo feita na propria função. tenta ai com este codigo.


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

void hifeniza(char* palavra) {
int n = strlen(palavra);
for(int i=0;i<n;i++) {
printf("%c",palavra[i]);
if( i!= n-1)
printf("-");
else;
}
}

int main()
{
char p[100];
int x;
printf("Digite uma palavra: \n");
gets(p);
hifeniza(p);
getch();
return(0);
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...