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:
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.
[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.
[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. ;)