柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序 #include int fun() { static int x=1; x*=2; return x; } main() { int i,s=1; for(i=1;i<=2;i++) s=fun(); printf("%d\n",s); } 程序运行后的输出结果是


  • A.0
  • B.1
  • C.4
  • D.8
热度🔥1,905
参考答案:C
解析:

【解析】fun函数中的x为静态局部变量,占用固定的内存单元,下一次调用时仍可保留上次调用时的值。也就是说,如果多次调用fun函数,x的定义只在第一次调用时有效,从第二次调用开始,x的定义相当于不存在,直接使用x的值。主函数中调用两次fun函数:第一次调用:x=1,x=x*2=2,s=2;第二次调用:(直接用上次x的值)x=x*2=4,s=4。因此C选项正确。
复制题目向AI提问