当函数名和不同的参数搭配时函数的含义不同
函数重载至少满足下面的一个条件:
1、 参数个数不同
2、 参数类型不同
3、 参数顺序不同
函数返回值不是函数重载的判断标准
#include <stdio.h>
#include <string.h>
int func(int x)
{
return x;
}
int func(int a, int b)
{
return a + b;
}
int func(const char* s)
{
return strlen(s);
}
int main()
{
int c = 0;
c = func(1);
printf("c = %d\n", c);
c = func(1, 2);
printf("c = %d\n", c);
c = func("12345");
printf("c = %d\n", c);
return 0;
}
下面的这个程序是错的比较多的nandia
int func(int a, int b, int c=0)
{
return a + b;
}
int func(int a, int b)
{
return a + b;
}
int main()
{
func(1,2); // 哪个函数会被调用
return 0;
}