Olá! Eu comecei bem recentemente a ler sobre a linguagem C e estou criando alguns programas que o livro pediu como exercício. Como compilador, eu estou atualmente usando o Code::Blocks 13.12. Usava antes o DEV C++, porém o mesmo começou a fazer o programa que eu criava parar de ser executado quando eu colocava a função scanf() e ia inserir o valor. Reinstalei ele 3 vezes, em versões diferentes, não resolveu. Tentei usar o Visual Studios C++, mesmo problema, enfim... Eu fiz um programa para achar os múltiplos de um número informado pelo usuário, dentro de um intervalo também informado pelo usuário. Porém, quando insiro o primeiro valor, o compilado dá o erro: program received signal sigsegv segmentation fault. Vou mostrar o programa que eu criei para ver se tem algum erro nele, fui ler sobre o erro, mas aonde li informava que era algo relacionado a ponteiros e o programa ir buscar memória fora do limite estipulado... mas esse programa, como vocês verão, não necessita de ponteiros (eu sequer sei usar ponteiros ainda).
#include<stdio.h>int main (){int numInicio;int numFinal;int numMultiplo;do{
printf("###Programa para calcular a quantidade de multiplos dentro do intervalo informado.###\n");
printf("Para parar o programa, insira <ZERO> no primeiro valor.\n");
printf("Digite o numero inicial do intervalo: ");
scanf("%d",&numInicio);
printf("\nDigite o numero final do intervalo: ");
scanf(" %d",&numFinal);
printf("\nDigite o multiplo a ser utilizado nos calculos.");
scanf(" %d",&numMultiplo);for(numInicio; numInicio < numFinal; numInicio++)if(numInicio > numFinal)
printf("\nErro: o primeiro numero não pode ser maior que o segundo. Tente novamente.");elseif(numInicio %5!=0)continue;else
printf("\n\t%i", numInicio);}while(numInicio ==0);}
Vale salientar que eu sequer testei o programa para verificar se ele realmente está parando quando se insere o valor <ZERO> e também que eu reconheço que estou bastante repetitivo na minha escrita, mas estou fazendo assim no início para ficar mais legível para mim, já que ainda não entendo bem a linguagem. Obrigado pela atenção!
Editado por Felipe Nóbrega ¹ Localizei um erro na função scanf(). Eu esqueci de inserir o & para chamar a variável.
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Felipe Nóbrega
Olá! Eu comecei bem recentemente a ler sobre a linguagem C e estou criando alguns programas que o livro pediu como exercício. Como compilador, eu estou atualmente usando o Code::Blocks 13.12. Usava antes o DEV C++, porém o mesmo começou a fazer o programa que eu criava parar de ser executado quando eu colocava a função scanf() e ia inserir o valor. Reinstalei ele 3 vezes, em versões diferentes, não resolveu. Tentei usar o Visual Studios C++, mesmo problema, enfim... Eu fiz um programa para achar os múltiplos de um número informado pelo usuário, dentro de um intervalo também informado pelo usuário. Porém, quando insiro o primeiro valor, o compilado dá o erro: program received signal sigsegv segmentation fault. Vou mostrar o programa que eu criei para ver se tem algum erro nele, fui ler sobre o erro, mas aonde li informava que era algo relacionado a ponteiros e o programa ir buscar memória fora do limite estipulado... mas esse programa, como vocês verão, não necessita de ponteiros (eu sequer sei usar ponteiros ainda).
Vale salientar que eu sequer testei o programa para verificar se ele realmente está parando quando se insere o valor <ZERO> e também que eu reconheço que estou bastante repetitivo na minha escrita, mas estou fazendo assim no início para ficar mais legível para mim, já que ainda não entendo bem a linguagem. Obrigado pela atenção!
Editado por Felipe Nóbrega¹ Localizei um erro na função scanf(). Eu esqueci de inserir o & para chamar a variável.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.