以下程序的输出结果是________。 main() { int k=4,m=1,p; p=func(k,m);printf("%d,",p); p=func(k,m);printf("%d\n",p); }

admin2010-05-22  40

问题 以下程序的输出结果是________。    main()    {  int k=4,m=1,p;       p=func(k,m);printf("%d,",p);       p=func(k,m);printf("%d\n",p);    }    func(int a,int B)    {  static int m=0,i=2;       i+=m+1;m=i+a+b;       return(m);    }

选项 A、8,17
B、8,16
C、8,20
D、8,8

答案1

解析 将k和m的值带入函数func中,第—次调用完func()后,其中m和i的值要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。所以最后的结果是8和17。
转载请注明原文地址:https://kaotiyun.com/show/ptWp777K
0

最新回复(0)