有以下程序:#include main() { int i=1,j=3; printf("%d,",i++); { int i=0; i+=j*2; printf("%d,%d,",i,j); } printf("%d,%d\n",i,j); } 程序运行后的输出结果是( )测试
A. 1,6,3,1,3
B. 1,6,3,2,3
C. 1,6,3,6,3
D. 1,7,3,2,3
查看答案
有以下程序:#include void sub (int*,int*);main() {int a[]={1,2,3,4},i,x=0;for(i=0; i<4; i++){sub(a,&x); printf("%d ",x); }printf("\n"); } void sub(int *s,int *y) { static int t=3;*y=s[t];t--; } 程序运行后的输出结果是( )
A. 1 2 3 4
B. 4 3 2 1
C. 0 0 0 0
D. 4 4 4 4
有以下程序:#include int func (int,int);main() {int k=4,m=1,p;p=func(k,m); printf("%d,",p);p=func(k,m); printf("%d\n",p);} int func(int a,int b){static int m,i=2;i+=m+1;m=i+a+b; return (m); } 程序运行后的输出结果是( )
A. 8,17
B. 8,16
C. 8,20
D. 8,8
有以下程序#include void fun(int *s) {static int j=0;do s[j]+=s[j+1]; while (++j<2); } main() {int k,a[10]={1,2,3,4,5};for(k=1; k<3; k++)fun(a);for(k=0; k<5; k++)printf("%d",a[k]); } 程序运行后的输出结果是( )
A. 34756
B. 23445
C. 35745
D. 12345
以下叙述中不正确的是( )
A. 一个变量的作用域完全取决于变量定义语句的位置
B. 全局变量可以在函数以外的任何部位进行定义
C. 局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用
D. 一个变量说明为static存储类是为了限制其它编译单位的引用