在下面的代码中,符号 a 究竟是实参还是形参。 void g(int b) {} void f (int a) { g(a); } A void g(int b) {} void f (int a) { //在这里, a 是形参 g(a); //在这里, a 是实参 } B void g(int b) {} void f (int a) { //在这里, a 是形参 g(a); //在这里,a 是形参 }
时间: 2024-01-22 19:02:18 浏览: 14
在下面的代码中,符号 a 是形参。
```c++
void g(int b) {}
void f(int a) {
g(a);
}
```
在函数 f 中,我们定义了一个形参 a,并把它传递给了函数 g。在函数 g 中,我们定义了一个形参 b,把 a 的值赋给了 b。因此,在函数 g 中,a 并没有被使用,也不是实参。
因此,选项 B 是错误的,选项 A 是正确的。
相关问题
在c++中,引用是实参还是形参
在C++中,引用可以同时作为函数的形参和实参,用来在函数之间传递数据。当引用作为函数的形参时,它可以用来修改函数外部的变量。当引用作为函数的实参时,它可以将一个变量的别名传递给函数。
例如,下面的代码演示了如何使用引用作为函数的形参和实参:
```
#include <iostream>
using namespace std;
void func(int &x) { // 引用作为形参
x++; // 修改x的值
}
int main() {
int a = 10;
func(a); // 引用作为实参
cout << a << endl; // 输出11
return 0;
}
```
在上面的代码中,func函数中的参数x是一个引用,它可以修改函数外部的变量a的值。在main函数中,将变量a作为实参传递给func函数,这样可以将a的别名传递给函数,从而在函数内部修改a的值。
因此,引用既可以作为函数的形参,也可以作为函数的实参,用来在函数之间传递数据。
形参是int,实参怎么传空进来
在 C++ 中,int 类型的形参是必须要传入一个实参的,不能传入空值。如果需要传入空值,可以考虑将 int 类型改为指针类型或引用类型,并在函数内部进行判断是否为空。例如:
```cpp
void func(int* p) {
if (p == nullptr) {
std::cout << "空指针!" << std::endl;
}
else {
std::cout << "传入参数为:" << *p << std::endl;
}
}
int main() {
int* p = nullptr;
func(p);
return 0;
}
```
在上述例子中,将 int 类型的形参改为 int* 类型,当传入的实参为空指针时,在函数内部进行判断并输出提示信息。