以下程序的输出
null
#include <stdio.h> int fun( int n) { static int s = 0; s = s + n; return (s); } int main() { int i = 10, x; while (i > 0) { x = fun(i); i--; } printf ( "%d " , x); return 0; } |
(A) 0 (B) 100 (C) 110 (D) 55 答复: (D) 说明: 因为s是静态的,所以i的不同值会一个接一个地添加到s中。
所以s的最终值是
s=i+(i-1)+(i-2)+……3+2+1。
s的值是i*(i+1)/2。对于i=10,s为55。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END