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

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

giuliodanelon_@hotmail.com
Giuio2

(usa Outra)

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



  


2. MELHOR RESPOSTA

???
gokernel

(usa Linux Mint)

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]

Vitor Luis
VitorLuis

(usa Ubuntu)

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]

???
gokernel

(usa Linux Mint)

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

E detalhe:

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

Entendeu ?







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts