char query[80];
while ( scanf("%s", &query) == 1 ) {
/* ... */
}
Eu estou recebendo o seguinte 'warning' referente ao código acima:
In function 'main':
[Warning] char format, different type arg (arg 2)
1. Alguma sugestão de como solucionar?
2. Existe algum site com a documentação completa da linguagem C, assim como existe no site da Sun para o Java? (Mesmo que o site do prof. Paulo Feofiloff seja de excelente ajuda)
In reply to Claudio Freitas
Re: [Warning] char format, different type arg (arg 2)
by Wellington Castello -
1 - Tira esse & do scanf.
2 - Existe um livro, na minha opnião o melhor sobre a linguagem, "The C Programming Language" - Brian W. Kernghan e Dennis M. Ritchie ou simplesmente K&R. Existe também o documento ISO-9899-1999-C99 com (quase) todas as espeficações da linguagem C (veja os links), mas se você usa linux é melhor ver o documento anterior a esse pois esse padrão ainda não foi completamente implementado no gcc (a maior parte já foi...).
E talvez esses links possam te ajudar:
Até mais.
2 - Existe um livro, na minha opnião o melhor sobre a linguagem, "The C Programming Language" - Brian W. Kernghan e Dennis M. Ritchie ou simplesmente K&R. Existe também o documento ISO-9899-1999-C99 com (quase) todas as espeficações da linguagem C (veja os links), mas se você usa linux é melhor ver o documento anterior a esse pois esse padrão ainda não foi completamente implementado no gcc (a maior parte já foi...).
E talvez esses links possam te ajudar:
- comp.lang.c Frequently Asked Questions
- The Development of the C Language by Dennis M. Ritchie
- Programming in C (document collection at Lysator)
- International Obfuscated C Code Contest
- Programming C at Wikibooks
- The New C Standard: An economic and cultural commentary an unpublished book about "detailed analysis of the International Standard for the C language"
- ISO/IEC 9899 (pdf)
- C99
- Open source development using C99 Is your C code up to standard? by Peter Seebach
- Are you Ready For C99?
- Article "Incompatibilities Between ISO C and ISO C++" by David R. Tribble
- Forums
Até mais.
In reply to Wellington Castello
Re: [Warning] char format, different type arg (arg 2)
by Claudio Freitas -
Muito obrigado pela solução e pelos links Wellington!
In reply to Wellington Castello
Re: [Warning] char format, different type arg (arg 2)
Wow, que bibliografia! Só complementando o que o Wellington disse, um vetor ou ponteiro é rigorosamente um endereço de memória. Quando você for passar a referência de um vetor para uma função que altera o conteúdo desse vetor, só passando o endereço da primeira casa (vetor[0] ou simplesmente vetor, eles apontam para o mesmo trecho de memória), passe o apontador ou vetor direto para a função. Da maneira que você escreveu Cláudio, você estaria passando o endereço do endereço do vetor, daí vem o warning.
Abraços!
Abraços!
In reply to João Francisco Amorim Enomoto
Re: [Warning] char format, different type arg (arg 2)
by Claudio Freitas -
Hmm, dessa parte eu não me lembrava. Valeu João!
In reply to Wellington Castello
Re: [Warning] char format, different type arg (arg 2)
by Vanessa Sabino -
Incluir o link do International Obfuscated C Code Contest foi maldade com quem vai corrigir os EPs! ![evil evil](https://paca.ime.usp.br/theme/image.php/boost/core/1672261234/s/evil)
Bom, você colocou link pra especificação em pdf, então só complementando vou indicar aqui um lugar em que está em html:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n843.htm
Bom, você colocou link pra especificação em pdf, então só complementando vou indicar aqui um lugar em que está em html:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n843.htm
In reply to Vanessa Sabino
Re: [Warning] char format, different type arg (arg 2)
Relaxa Vanessa: programas obscuros, notas obscuras =P
Abraços! Bom EP4 para todos!
Abraços! Bom EP4 para todos!
In reply to Vanessa Sabino
Re: [Warning] char format, different type arg (arg 2)
by Wellington Castello -
Foram só uns copy/paste :D Nem reparei que tinha colado o link do Obfuscated C Code Contest, de qualquer modo não deixa de ser legal hehe. Nada que o indent ep.c não resolva no caso de alguém querer fazer ascii art no EP :D