一个奇怪的C语言问题: 用户自定义函数和标准库函数重复时,运行时调用哪个?
//#include<stdio.h>char*strcat(char*str1,constchar*str2);intstrcmp(constchar*str1,con...
//#include <stdio.h>
char *strcat( char *str1, const char *str2);
int strcmp( const char *str1, const char *str2 );
char *strcat( char *str1, const char *str2 )
{
return str1;
}
int strcmp( const char *str1, const char *str2 )
{
return 100;
}
int main()
{
int a = 0;
char buf[10] ="123";
strcat(buf, "123");
printf("buf = %s\r\n", buf);
a = strcmp("123", "156");
printf("a = %d\r\n", a);
return 0;
}
运行结果:
buf = 123
a = -1
请按任意键继续. . . 展开
char *strcat( char *str1, const char *str2);
int strcmp( const char *str1, const char *str2 );
char *strcat( char *str1, const char *str2 )
{
return str1;
}
int strcmp( const char *str1, const char *str2 )
{
return 100;
}
int main()
{
int a = 0;
char buf[10] ="123";
strcat(buf, "123");
printf("buf = %s\r\n", buf);
a = strcmp("123", "156");
printf("a = %d\r\n", a);
return 0;
}
运行结果:
buf = 123
a = -1
请按任意键继续. . . 展开
4个回答
2015-02-01
展开全部
首先你没有包含STRING.H文件,没有指定使用系统定义的函数。其次,如果指定的话,在C编译器里会报错,在C++编译器里会先执行自定义的,再执行系统的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你并没有包含#include<string.h>
所以使用你的·`
所以使用你的·`
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用自定义的那个函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-29
展开全部
会调用自定义的同名函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询