问题 单项选择题

有以下程序#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.1,2

B.1,1

C.2,3

D.3,3

答案

参考答案:A

解析:【解析】所有函数中变量初始值为随机数,但含有static的变量属于静态变量,初始值为0,且主调函数调用后不释放,再次调用时能在上次调用后值的基础上,再次参加运算。所以主函数第一次调用显示“1,”,第二次调用,由于n++,所以显示为1+1=2。

填空题
判断题