如何声明printf()?

时间:2010-11-14 18:29:02

标签: c printf

我想在C中使用printf()函数打印一些东西,而不包括stdio.h,所以我把程序编写为:

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

以上程序是否正确?

5 个答案:

答案 0 :(得分:18)

正确的声明(ISO / IEC 9899:1999)是:

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

#include <stdio.h>只会是最简单,最安全的。

答案 1 :(得分:12)

只需:

man 3 printf

它会告诉你printf签名:

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

这是正确的。

答案 2 :(得分:4)

我不知道你为什么要这样做。

但它应该是const char *

答案 3 :(得分:0)

这是声明的另一个版本:

extern int printf (__const char *__restrict __format, ...);

答案 4 :(得分:-3)

int printf(char *, ...);

工作得很好,我不知道为什么人们告诉你char需要成为const