int add_n(int n) { static int i=100; i+=n; return i; }完整体代码
时间: 2024-05-07 08:22:41 浏览: 104
以下是完整的代码:
```c++
#include <iostream>
using namespace std;
int add_n(int n) {
static int i=100;
i+=n;
return i;
}
int main() {
cout << add_n(10) << endl; // 输出110
cout << add_n(20) << endl; // 输出130
cout << add_n(30) << endl; // 输出160
return 0;
}
```
在这个例子中,`add_n` 函数中的 `static int i=100` 定义了一个静态局部变量 `i`,它只在第一次调用 `add_n` 函数时被初始化为100,并在后续的调用中保持其值。每次调用 `add_n` 函数时,`i` 的值增加 `n`,并返回当前的 `i` 值。
在 `main` 函数中,我们分别调用 `add_n` 函数三次,并输出返回值。可以看到,每次调用 `add_n` 函数时,返回的值都是上一次调用后 `i` 的值加上传入的参数 `n`,而不是从100开始计数。这是因为 `i` 是静态局部变量,它在函数调用之间保持其值,而不是在每次调用时重新初始化。
相关问题
int add_n(int n) { static int i=100; i+=n; return i; }完整代码
完整代码如下:
```
#include <stdio.h>
int add_n(int n) {
static int i=100; // 静态变量 i 初始化为 100
i += n; // 每次调用 add_n 函数时,i 值增加 n
return i; // 返回 i 的值
}
int main() {
printf("%d\n", add_n(10)); // 输出 110
printf("%d\n", add_n(20)); // 输出 130
printf("%d\n", add_n(30)); // 输出 160
return 0;
}
```
这段代码定义了一个函数 `add_n`,其作用是将一个静态变量 `i` 的值加上参数 `n`,并返回结果。静态变量 `i` 的初始值为 100,而且它的值在多次调用 `add_n` 函数时会被保留下来,因此每次调用 `add_n` 都会在原来的基础上增加 `n`。在本例中,第一次调用 `add_n` 时 `i` 的值为 100,加上 10 后变为 110;第二次调用时 `i` 的值为 110,加上 20 后变为 130;第三次调用时 `i` 的值为 130,加上 30 后变为 160。因此,程序输出的结果为:
```
110
130
160
```
int add_n(int n) { static int i=100; i+=n; return i; }完整C++代码
```cpp
#include <iostream>
using namespace std;
int add_n(int n) {
static int i = 100;
i += n;
return i;
}
int main() {
cout << add_n(10) << endl; // 输出 110
cout << add_n(20) << endl; // 输出 130
cout << add_n(30) << endl; // 输出 160
return 0;
}
```
阅读全文