我想在C中使用printf()函数打印一些东西,而不包括stdio.h,所以我把程序编写为:
int printf(char *, ...);
int main(void)
{
printf("hello world\n");
return 0;
}
以上程序是否正确?
答案 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