Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: miltonvizi em 15 de Dezembro de 2010, 11:30
-
estou usando ubuntu 10.04 e para programar em c uso o gedit e o gcc para compilar meus programas mas estou tendo alguns problemas na hora de compilar
quando eu uso o printf da esse erro
char_array.c: In function ‘main’:
char_array.c:23: warning: format not a string literal and no format arguments
mas se eu troco o printf pelo puts ele da certo
o que sera me ajudem !!!!!!!!!!!!!!!!
o programa é esse
#include <stdio.h>
int main ()
{
char str_a[20];
str_a[0] = 'H';
str_a[1] = 'e';
str_a[2] = 'l';
str_a[3] = 'l';
str_a[4] = 'o';
str_a[5] = ',';
str_a[6] = ' ';
str_a[7] = 'W';
str_a[8] = 'o';
str_a[9] = 'r';
str_a[10] = 'l';
str_a[11] = 'd';
str_a[12] = '!';
str_a[13] = '\n';
str_a[14] = 0;
printf (str_a);
}
-
A sintaxe do printf tá errada.
O correto é:
printf("%s", str_a);
Dá uma olhada: http://www.cplusplus.com/reference/clibrary/cstdio/printf/
T+.
-
Seu código não está "errado". O que o compilador está fazendo é te avisar que provavelmente este não é o jeito tradicional de usar printf():
char_array.c: In function ‘main’:
char_array.c:23: warning: format not a string literal and no format arguments
Note o "warning"...
Como RonaldoRG falou, printf() espera por uma string de formatação ANTES da string que será "impressa".
-
obrigado ajudou muito ^^
-
Coloque o ícone Solucionado no seu tópico.
T+