#include <iostream> using namespace std; void print(float a = 0.1 , int b = 0, char c = "\t"); int main() { print(1.1 , 1, "a"); return 0; } void print(float a , int b, char c ); { cout<<a<<"\t"<<b<<"\t"<<c; }错在哪?
时间: 2024-03-26 22:36:10 浏览: 101
#include <iostream>
这段代码有几个错误:
1. 函数声明和定义中,char类型的默认参数应该是单引号括起来的字符,而不是双引号括起来的字符串。所以函数声明应该是 `void print(float a = 0.1, int b = 0, char c = '\t');` 而不是 `void print(float a = 0.1 , int b = 0, char c = "\t");`。
2. 函数定义中不应该有分号,应该是 `{}`,而不是 `;`。
下面是修改后的代码:
```
#include <iostream>
using namespace std;
void print(float a = 0.1, int b = 0, char c = '\t') {
cout << a << "\t" << b << "\t" << c;
}
int main() {
print(1.1, 1, 'a');
return 0;
}
```
修改后的代码中,`print`函数的三个参数都有默认值,所以在`main`函数中调用`print`函数时,可以只传递需要修改的参数值。在这个例子中,我们传递了第一个参数为1.1,第二个参数为1,第三个参数为字符'a'。函数将会输出`1.1 1 a`。
阅读全文