Pular para o conteúdo

Falha de segmentação (imagem do núcleo gravada) [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Falha de segmentação (imagem do núcleo gravada) [RESOLVIDO]

Enviado em 20/06/2013 - 09:50h

#include <stdio.h>
#include <cc50.h>
#include <string.h>

int
main()

{
printf("Digite a chave. (Use valores negativos para descriptografar.\n");
int k = GetInt(); // funcao da biblioteca cc50, pega input do usuario

printf("Digite o texto a ser (des)criptografado.\n");
string c = GetString(); //igual GetInt

for (int i = strlen(c); i > 0; i--) //o loop deveria executar "numero de caracters da string" vezes
{
int y;
printf("%c", (c[y] + k) % 26);// deveria criptografar a string, imprimindo caracter por caracter
y++;
}
printf("\n");
}

Opa, estou engatinhando em programação, não consigo compilar (falha seg.) e não consigo achar o porquê.

Valeu

Responder tópico

2. Re: Falha de segmentação (imagem do núcleo gravada) [RESOLVIDO]

Melhor resposta

Enviado em 20/06/2013 - 10:17h

tente modificar para isso:
-------------------------------------------------
int y = 0;
-------------------------------------------------

Vc criou uma variável local ... e uma variavel local inicia com um VALOR DESCONHECIDO.

Abraço !

PROVERBIOS 28:5:
"Os homens maus não entendem o juizo, mas os que buscam ao SENHOR entendem tudo".

3. Re: Falha de segmentação (imagem do núcleo gravada) [RESOLVIDO]

Enviado em 20/06/2013 - 11:21h

Exatamente o que o amigo acima falou.

O Segmentation Fault (Falha de Segmentação) pode acontece quando o programa tenta acessar um edereço de memória que não existe.

4. Re: Falha de segmentação (imagem do núcleo gravada) [RESOLVIDO]

Enviado em 20/06/2013 - 12:15h

E detalhe:

Esse ( int y = 0; ) precisa ser declarado fora do loop/bloco ( for ).

Entendeu ?

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder