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.
[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
joanaQWP 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