选择题
12.1 以下程序的输出结果是
A) 1,6,3,1,3
B) 1,6,3,2,3
C) 1,6,3,6,3
D) 1,7,3,2,3
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);
}
答案:B
12.2 以下程序的输出结果是
A) 1 2 3 4
B) 4 3 2 1
C) 0 0 0 0
D) 4 4 4 4
main()
{ int a[]={1,2,3,4},i,x=0;
for(i=0; i<4; i++) { sub(a,&x); printf("%d ",x); }
printf("\\n");
}
sub(int *s,int *y)
{ static int t=3;
*y=s[t]; t--;
}
答案:B
12.3 以下程序的输出结果是
A) 8,17
B) 8,16
C) 8,20
D) 8,8
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,i=2;
i+=m+1;
m=i+a+b;
return (m);
}
答案:a
12.4 以下程序的输出结果是
A) 34756
B) 23445
C) 35745
D) 12345
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]);
}
答案:C