有以下程序 intf(intm) { staticintn=0; n+=m;returnn;} main( ){ intn=0: printf(’’%d,’’,f(++n)); printf(’’%d\n’’,fin++));) 程序运行后的输出结果

admin2019-12-17  30

问题 有以下程序
intf(intm)
{
staticintn=0;
n+=m;returnn;}
main(    ){
intn=0:
printf(’’%d,’’,f(++n));
printf(’’%d\n’’,fin++));)
程序运行后的输出结果是

选项 A、1.1
B、1,2
C、2,3
D、3,3

答案B

解析 由于在函数f中,变量n为静态局部变量,所以在主函数中第一次调用函数f后,变量n的值等于l,当第二调用函数f时,在函数f的内部静态局部变量n的值仍然保留等于l,所以返回函数值等于2。
转载请注明原文地址:https://kaotiyun.com/show/wICp777K
0

最新回复(0)