c语言题 求详细解释此程序是如何运行的 谢谢

2025-04-19 16:47:21
推荐回答(2个)
回答1:

x是个静态变量,它不会随f函数运行的结束而销毁,f中的a是个局部变量,它会随f函数运行的结束而销毁,
当第一次运行f(a)时,x=3,x=x+1,x变为4;a=7,a=a+1,a变为8,主函数里的a还是7;
当第二次运行f(a)时,x=4,x=x+1,x变为5;a=7,a=a+1,a变为8,主函数里的a还是7;

回答2:

static标识x为静态变量,编译时赋值为3不是运行时每次赋值为3.若写为static int x=0;x=3;则每次赋值为三。本题应该为8,4,8,5,