Autor |
Mensagem |
Mr. Joe Veterano |
# mai/10 · Editado por: Mr. Joe
Olá pessoal. :)
Resolvi brincar com C um pouquinho. Enfim, pensei em fazer um simples loop, que faça uma contagem bem feliz.
Mas ao compilar dá o erro "[Warning] passing arg 1 of `printf' makes pointer from integer without a cast "
Segue o código feliz:
#include <stdlib.h> #include <stdio.h> main(){ int keep_loop = 1; int counter = 1; while(keep_loop == 1) { sleep(1000); // 1 seg printf(counter); counter ++; if(counter >= 10) { printf("\n Uau, chegamos aos dez segundos!"); keep_loop = 0; // paramos o loop system("pause"); // aperte qualquer tecla p/ continuar } } }
Quem tem a solução? ganha um biscoito imaginário :)
|
Carlos_Souza_Jr Veterano |
# mai/10
· votar
...
printf("Contando...", counter);
Acho que funfa
|
Sephiro Veterano |
# mai/10
· votar
Substitui a linha printf(counter); por printf("%i", counter);
|
Carlos_Souza_Jr Veterano |
# mai/10
· votar
Mr. Joe
Ou faz o que o Sephiro falou. O printf exige uma string de controle pra funcionar, o resto dos argumentos ele vai imprimir na tela direitinho.
|
Mr. Joe Veterano |
# mai/10
· votar
Carlos_Souza_Jr Botei isso e só aparece "Contando...". Parece que a variável ficou sem valor :S
Sephiro Agora funfo. :) Programa ficou mó fófis. Conta certinho :)
|
Mr. Joe Veterano |
# mai/10
· votar
mas aí... que que o "%i" realmente faz?
|
ZakkWyldeEMG Veterano |
# mai/10
· votar
Mr. Joe
O %i é um código de formatação para variáveis tipo int da função printf
|
Sephiro Veterano |
# mai/10
· votar
Mr. Joe Quando você utiliza o printf e quer imprimir conteúdo de variável, é necessário utilizar o '%' acompanhado de um especificador de formato. Como no caso a variável era de valor inteiro, um especificador que você pode utilizar é o 'i' ou o 'd', daí o "%i". :]
|
Mr. Joe Veterano |
# mai/10
· votar
Valeu as dicas pessoal. :) Aproveitem seus biscoitos imaginários! \o/
Resolvido, tópico trancado.
|