Я хотел напечатать что-нибудь, используя функцию printf () в C, без включения stdio.h, поэтому я написал программу как:
int printf(char *, ...); int main(void) { printf("hello world\n"); return 0; }
Корректна ли вышеуказанная программа?
Правильная декларация (ISO / IEC 9899: 1999):
int printf(const char * restrict format, ... );
Но было бы проще и безопаснее всего просто #include <stdio.h>.
#include <stdio.h>
Просто:
man 3 printf
Он скажет вам printf подпись:
printf
int printf(const char *format, ...);
это правильный.
Понятия не имею, почему вы хотите это сделать.
Но это должно быть const char *.
const char *
Вот еще один вариант декларации:
extern int printf (__const char *__restrict __format, ...);
int printf(char *, ...);
работает просто отлично, я не знаю, почему люди говорят, что char должен быть константой