Encontrando erros em seus programas

Publicado por Leonardo Barrozo dos Santos em 10/03/2003

[ Hits: 8.371 ]

 


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

Outras dicas deste autor

Passar variáveis char para inteiro

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

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

Interface gráfica com C

Leitura recomendada

Switch em C, e se a opção for inválida?

Sites recomendados para estudar linguagem C

Instalando Code::Blocks no Ubuntu 12.04

Acessando um valor dada sua posição numa matriz bidimensional

Função recursiva para inverter um vetor de caracteres

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts