分页:
上一页 1 2 3 4 5 [6] 7 8 9 10 下一页
main()
{ int x=3,y=6,a=0;
while(x++!=(y-=1))
{ a+=1;
if(y<x)break;
}
primf("x=%d,y=%d,a=%d\n",x,y,a);
}
A)x=4,y=4,a=1 B)X=5,y=5,a=1
C)x=5,y=4,a=3 D)x=5,y=4,a=l
答案:D
评析:注意的是x++中x值的引用时,这里应当是先引用,后自加,具体执行过程如下:
第一次while循环:条件为真,执行a=a+l=l;此时,x的值已为4,判断y<x不成立,继续执行循环;
第二次while循环:条件为假,此时x的值已为5,退出while循环,执行printf。
[Page: ]
(42)若有程序:
fun(int a,int b)
{
static int c=O:
c+:a+b:
return C;
}
main()
{
int x=5,y=3,z=7,r;
r=fun((y,x+y),z);
r=fun(x,y);
printf("%d\n",r);
}
上面程序的输出结果是__________。
A)23 B)15
C)19 D)18
答案:A
评析:stoic声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于stat~为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。
(43)下面程序的输出是________。
main()
{char*s="12134211";
int vl=0,v2=0,v3=0,v4=0,k;
分页:
上一页 1 2 3 4 5 [6] 7 8 9 10 下一页