Pular para o conteúdo

Encontrando erros em seus programas

Dica publicada em C/C++ / Introdução
Leonardo Barrozo dos Santos lbsantos
Hits: 8.940 Categoria: C/C++ Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Encontrando erros em seus programas

Na linguagem C, as vezes é muito difícil nós encontrarmos um erro em nosso programa. Principalmente, quando o programa compila direitinho, mas na hora de rodar não funciona.

Aconselho a vocês que caso isso aconteça, comecem a colocar printf nos locais onde suspeita que estejam os erro. Exemplo:
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
printf("Estou aqui");
pilha[topo] = 10;
printf("Passei");
Caso a variável pilha fosse um array de 10 e a variável topo fosse maior que 10, ocorreria um erro inesperado em seu programa e você não saberia onde o erro estaria. Com os printf os erros podem ser encontrados mais rapidamente.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Interface gráfica com C

Passar variáveis char para inteiro

Porque fgets() ao invés de gets()

Conversão de tipos de dados em C/C++

Instalando Code::Blocks no Ubuntu 12.04

Limpando a "sujeirinha" no buffer do teclado

Checagem de erro do scanf

Como executar um programa em C via Terminal [Vídeo]

Mais um curso de linguagem C

#1 Comentário enviado por a032330559 em 21/10/2004 - 18:09h
para encontrar erros pos compilacao em programas que usam C como linguagem use o F7 no rhide
#2 Comentário enviado por Sacred em 05/12/2004 - 11:48h
Posso fazer uma pergunta?
Eu sou iniciante em C e já tenho feito muitos Scripts para testar certos comandos, mas 100% deles sempre dão o mesmo erro na hora de compilar!
Vou mostrar aqui o meu script para testar o printf ( não riem, por favor )

#include <stdio.h>
#include <conio.h>
void main(){
int a = 3;
float f = 5.83;
char* nome = "Sacred";
char* letra = 't';

clrscr();

printf("Essa coisa funciona");
printf("So pra garantir se funciona mesmo");
printf("Printf funcional");

printf("\n%c",letra);

printf("\nMeu nome e %s",nome);

printf("\n%s tem %d amigos",nome,a);
};


Olhem os erros:
script2.c: In function `main':
script2.c:7: warning: initialization makes pointer from integer without a cast
script2.c:3: warning: return type of `main' is not `int'
script2.c:21:1: warning: no newline at end of file

Pode me dizer se isso é problema no GCC ou no meu script?
Grato.
#3 Comentário enviado por alvaro_melo em 14/06/2005 - 21:50h
Para isso voce tambem pode usar o Debugger que vem em alguns compiladores
#4 Comentário enviado por jochan em 14/12/2005 - 14:44h
Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)
#5 Comentário enviado por removido em 03/05/2006 - 11:17h
Pra começar muda void main() para int main();
e elimina o ; da ultima linha depois da chaveta;

Isso deve eliminar os 2 ultimux erros

E so 1 sugestao ainda nao experimentei**
#6 Comentário enviado por removido em 09/08/2006 - 20:31h
Uma coisa que eu uso muito são as diretivas do pré-processador. Acrescente no início do código a linha #define DEBUG 1. Onde queira adicionar os 'printf's davida, faça o seguinte:
#if DEBUG == 1
printf("...");
#endif
Ou seja, quando lá em cima o DEBUG estiver definido como 1, ele colocará o printf no produto final, no programa compilado. Caso queira remover todos os printfs de uma vez, é só alterar o valo do DEBUG para diferente de 1. Assim, se código sempre terá os printfs na hora que quiser, só alterando um caracter. ;)
#7 Comentário enviado por humbhenri em 27/08/2006 - 14:04h
Sacred,
Na linha char* letra='t' deveria ser char* letra="t". Nao testei.
#8 Comentário enviado por berreto em 03/11/2006 - 19:33h
Obrigado pela diga, pra mim q sou iniciante foi de muita utilidade.
vakeu111
#9 Comentário enviado por f_Candido em 22/09/2007 - 21:25h
Interessante. Auxilia bastante, principalmente no uso de Ponteiros.
#10 Comentário enviado por pirrola em 22/03/2008 - 13:00h
por isso q eh bom trabalhar com funções...pois com funções pode-se testar pedaços separadamente do programa

Contribuir com comentário

Entre na sua conta para comentar.