n=strlena+ strlenb; for (i= 0 ;i<strlena- 1 ;i++) c[i]= a[i]; for (i=strlena- 1 ;i<n;i++) c[i]=b[i- strlena]; return c[ 199 ]; int main( void ) char a[ 100 ]; char b[ 100 ]; scanf( " %s " ,& a); scanf( " %s " ,& b); printf( " %s " ,strcat(a,b)); system( " PAUSE " ); return 0 ; View Code

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

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

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