#include <stdio.h> int f(int b) { static int a=1; a=a+b; return a; } void main() { int b=2,c; b=f(b); c=f(b); printf("%d,%d\n",b,c); }
时间: 2024-04-02 22:33:20 浏览: 195
操作系统linux版实验报告.doc
这段代码的输出是 "3,6"。这是因为函数 f() 中定义的变量 a 是一个静态变量,它只会在第一次执行函数 f() 的时候被初始化为 1。在第一次调用函数 f() 时,b 的值为 2,所以 a 的值变为了 3,而函数的返回值也是 3。然后在第二次调用函数 f() 时,b 的值仍然是 3,所以 a 的值变为了 6,而函数的返回值也是 6。最后在 main() 函数中打印出了 b 和 c 的值,它们分别是第一次和第二次调用函数 f() 的返回值。
阅读全文