I wanted to print something using printf() function in C, without including stdio.h, so I wrote program as :
int printf(char *, ...);
int main(void)
{
printf("hello world\n");
return 0;
}
Is the above program correct ?
I wanted to print something using printf() function in C, without including stdio.h, so I wrote program as :
int printf(char *, ...);
int main(void)
{
printf("hello world\n");
return 0;
}
Is the above program correct ?
The correct declaration (ISO/IEC 9899:1999) is:
int printf(const char * restrict format, ... );
But it would be easiest and safest to just #include <stdio.h>
.
Just:
man 3 printf
It will tell you printf
signature:
int printf(const char *format, ...);
this is the right one.
I have no idea why you'd want to do this.
But it should be const char *
.
Here is another version of the declaration:
extern int printf (__const char *__restrict __format, ...);
int printf(char *, ...);
works just fine, I don't know why people are telling you that char needs to be a const