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

有以下程序 #include int f ( int m ) { static int n=0; n+=m; return n; } main() { int n=0; printf ( "%d,", f(++n) ); printf ( "%d\n", f(n++) ); } 程序运行后的输出结果是


  • A.3,3
  • B.1,1
  • C.2,3
  • D.1,2
热度🔥1,491
参考答案:D
解析:

【解析】该题目中首先区别++n和n++,第一次调用f函数时,将++n(n自增1后再参与运算)作为参数进行传递,此时变量m的值为1,执行n+=m;后,n=1,将1返回主函数,并输出。第二次调用f函数时,将n++(n参与运算后再自增1)作为参数进行传递,此时变量m的值为1,执行语句n+=m;,由于n是静态存储变量,因此n=2,将2返回主函数并输出。因此D选项正确。
复制题目向AI提问