首页 > 试题广场 >

print函数声明为void print(int a,cha

[不定项选择题]
print函数声明为
void print(int a,char b='b',int c=1); 
下面函数调用正确的是()
  • print('a');
  • print(5,8);
  • print(5,'#');
  • print(5,'#',2);

函数声明时候参数初始化 可以不传参

如果传参则覆盖 否则就是默认初始化值


发表于 2019-11-09 22:05:35 回复(5)
因为整型和字符型隐式转化所以随便调?
发表于 2019-08-27 14:39:27 回复(2)
传入参数进行了类型转换
发表于 2020-05-28 23:11:43 回复(0)
这个拿编译器能跑出来??
发表于 2020-10-05 16:08:32 回复(0)
print('a');//对应97,b,1
print(5,8);//对应5,退格符号,1 如果在print中输出a,b,c的话,会得到1,因为退格会删除5
print(5,'#');//对应5,#,1
print(5,'#',2);//对应5,#,2
发表于 2020-06-25 22:32:22 回复(3)

函数声明时候参数初始化 可以不传参

如果传参则覆盖 否则就是默认初始化值

发表于 2021-09-06 11:00:00 回复(0)
缺省函数吗?
发表于 2019-08-24 16:52:15 回复(0)

函数参数可以在声明时进行初始化并具有默认值。如果调用该函数时没有提供该参数的值,则会使用声明中指定的默认值。

例如,以下函数声明:

Copy Code
void foo(int a = 0, float b = 1.0, char c = 'x');

其中的参数a,b和c都有默认值。这意味着如果不提供它们的值,则会自动分配这些默认值。如果我们调用函数时只提供了一个参数,那么它将覆盖对应位置上的默认参数,而其余的参数将继续使用默认值。例如:

Copy Code
foo(); // 使用所有默认值调用函数 foo(42); // 使用42替换默认值的a参数,其余参数仍然使用默认值 foo(42, 3.14); // 使用42替换默认值的a参数和3.14替换默认值的b参数,c参数仍然使用默认值

因此,如果我们在函数声明中定义了参数的默认值,则可以选择不传递参数,并使用函数声明中指定的默认值。如果我们传递参数,则这些参数将覆盖默认参数的值。

发表于 2023-10-30 16:54:21 回复(0)
目前gcc编译器下,在定义函数参数时,不能赋值
发表于 2024-08-03 10:05:08 回复(0)
int和char相互隐式转换
编辑于 2024-04-04 09:07:43 回复(0)
char型和int可以相互转换
发表于 2023-06-15 09:33:20 回复(0)
函数声明时候参数初始化 可以不传参 如果传参则覆盖 否则就是默认初始化值,a项传参给a了,char隐式转换成int
发表于 2022-07-21 18:22:09 回复(0)
函数传参参数初始化,可以不传递参数,传参就覆盖,否则为默认值。
发表于 2021-12-03 10:37:08 回复(0)
原来都对啊,那就是除了第一个整数必须有参数,其他两个默认参数完全可以缺省
发表于 2019-11-29 00:17:59 回复(0)