8.8 以下程序的输出结果是
A) 23
B) 24
C) 25
D) 26
void prtv(int *x)
{ printf("%d\\n",++*x); }
main()
{ int a=25;
prtv(&a);
}
答案: D
8.9 以下程序的输出结果是
A) 运行出错
B) 100
C) a的地址
D) b的地址
main()
{ int **k, *a b=100;
a=&b; k=&a;
printf("%d\\n",**k);
}
答案: B
8.10 以下程序的输出结果是
A) 4,3
B) 2,3
C) 3,4
D) 3,2
void fun(float *a,float *b)
{ float w;
*a=*a+*a;
w=*a;
*a=*b;
*b=w;
}
main()
{ float x=2.0,y=3.0;
float *px=&x,*py=&y;
fun(px,py);
printf("%2.0f,%2.0f\\n",x,y);
}
答案: C
8.11 以下程序的输出结果是
A) 9.000000
B) 1.500000
C) 8.000000
D)
10.500000
void sub(float x,float *y,float *z)
{ *y=*y-1.0;
*z=*z+x;
}
main()
{ float a=2.5,b=9.0,*pa,*pb;
pa=&a,pb=&b;
sub(b-a,pa,pa);
printf("%f\\n",a);
}
答案: C
8.12 以下四个程序中不能对两个整形值进行交换的是
A) main()
{ int a=10,b=20;
swap(&a,&b);
printf("%d%d\\n",a,b);
}
swap(int *p, int *q)
{ int *t,a;
t=&a;
*t=*p; *p=*q; *q=*t;
}
B) main()
{ int a=10,b=20;
swap(&a,&b);
printf("%d%d\\n",a,b);
}
swap(int *p, int *q)
{ int t;
t=*p; *p=*q; *q=t;
}
C) main()
{ int *a,*b;
*a=10,*b=20;
swap(a,b);
printf("%d%d\\n",*a,*b);
}
swap(int *p, int *q)
{ int t;
t=*p; *p=*q; *q=t;
}
D) main()
{ int a=10,b=20;
int *x=&a,*y=&b;
swap(x,y);
printf("%d%d\\n",a,b);
}
swap(int *p, int *q)
{ int t;
t=*p; *p=*q; *q=st;
}
答案:C