C语言错误 BUG报错整理

时间:2023-03-09 06:46:04
C语言错误 BUG报错整理

错误一

关键字:间接寻址级别不同

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h> char strcat(char *a,char *b)
{
char c[];
int n,i;
int strlena,strlenb;
strlena = (int)strlen(a);
strlenb = (int)strlen(b);
n=strlena+strlenb;
for(i=;i<strlena-;i++) c[i]=a[i];
for(i=strlena-;i<n;i++) c[i]=b[i-strlena];
return c[];
}
int main(void)
{
char a[];
char b[];
scanf("%s",&a);
scanf("%s",&b);
printf("%s",strcat(a,b));
system("PAUSE");
return ;
}

具体内容:error C2040 : “strcat” : “char(char *, char *)”与“char *(char *, const char *)”的间接寻址级别不同

原因:变量或者方法重复定义

具体解决方案:本例子中strcat()方法程序员自定义了一个,string.h也定义了一个,c语言里不存在重载,所以检测到两个相同函数名报错。