每当我尝试编译程序时,它会显示函数strcat的错误冲突类型。请帮忙
main.c中:
#include <stdio.h>
#include "Q2.h"
main()
{
char x[100], y[100];
gets(x);
gets(y);
printf("%s",strcat(x,y));
}
Q2.h:
char strcat(char a[100], char b[100])
{
int i, j;
while (a[i] != '\0')
{
i++;
}
while (b[j] != '\0')
{
a[i] = b[j];
j++;
i++;
}
return a[100];
}
答案 0 :(得分:1)
好的,您的错误消息很容易解释: C不支持重载功能。
默认情况下,strcat()
function接受两个指针(即char *strcat(char *dst, char *src)
),其效果类似于您所写的内容。
根据您的编译器/ IDE(例如Microsoft Visual Studio),可能实际上包含/定义了一些标准标头或函数,即使您没有明确包含它们。
要解决此问题,请切换到C ++或重命名您自己的函数(或尝试避免包含 string.h ,如果您自己包含它)。
答案 1 :(得分:0)
在您的代码中包含#include <string.h>