我有一个非常简单的c程序,如下所示。当我在代码上运行组织包含它删除所有不需要的包含文件和转发声明函数。但有时这个声明是不正确的。例如,在printf()的情况下,它接受变量参数,但cdt forward声明该函数只有一个不正确的参数。任何人都可以建议我一个解决方案,使其正常工作。
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int a;
char src[50], dest[50];
strcpy(src, "This is test");
strcpy(dest, "This is test2");
strcat(src, dest);
puts("!!!Hello World!!!");
a = 5;
printf("%d\n", a);
return 0;
}
运行组织后我得到以下输出:
int printf(const char *); // <------ wrong forward declaration?
int puts(const char *);
char * strcat(char *, const char *);
char * strcpy(char *, const char *);
int main(void) {
int a;
char src[50], dest[50];
strcpy(src, "This is test");
strcpy(dest, "This is test2");
strcat(src, dest);
puts("!!!Hello World!!!");
a = 5;
printf("%d\n", a);
return 0;
}