Как объявить printf ()? - PullRequest
       2

Как объявить printf ()?

7 голосов
/ 14 ноября 2010

Я хотел напечатать что-нибудь, используя функцию printf () в C, без включения stdio.h, поэтому я написал программу как:

int printf(char *, ...);
int main(void)
{
        printf("hello world\n");
        return 0;
}

Корректна ли вышеуказанная программа?

Ответы [ 5 ]

18 голосов
/ 14 ноября 2010

Правильная декларация (ISO / IEC 9899: 1999):

int printf(const char * restrict format, ... );

Но было бы проще и безопаснее всего просто #include <stdio.h>.

12 голосов
/ 14 ноября 2010

Просто:

man 3 printf

Он скажет вам printf подпись:

int printf(const char *format, ...);

это правильный.

4 голосов
/ 14 ноября 2010

Понятия не имею, почему вы хотите это сделать.

Но это должно быть const char *.

0 голосов
/ 02 июня 2012

Вот еще один вариант декларации:

extern int printf (__const char *__restrict __format, ...);
0 голосов
/ 14 ноября 2010
int printf(char *, ...);

работает просто отлично, я не знаю, почему люди говорят, что char должен быть константой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...