有以下程序: #include<stdio.h> int b=2; int fun(int*k) { b=*k+b: return(b); } void main( ) { int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<

admin2019-12-17  27

问题 有以下程序:
#include<stdio.h>
int b=2;
int fun(int*k)
{
b=*k+b:
return(b);
}
void main( )
{
int a[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;j+ +)
}
b=fun(&a)+b;
printf(″%d″,b);
{
printf(″\n″);
}
程序运行后的输出结果是(    )。

选项 A、1012
B、810
C、1028
D、1016

答案C

解析 因为b是全局变量,所以它的值在整个程序结束才会消失。for循环中,第一次循环,i=2,a[2]=3,所以fun(&a=3+2=5,b=5,所以b=fun(&a)+b=5+5=10;第二次循环,b=10,然后fun(&a)代入a[3]=4,这时fun(&a=10+4=14,所以b=fun(&a)+b=14+14=28。
转载请注明原文地址:https://kaotiyun.com/show/T2Cp777K
0

最新回复(0)