有以下程序: #include<stdio.h> void sp(int *a) { int b=2; a=&b; *a=*a*2; printf(″%d,″,*a); } main( ) { int k=3,*p=&k; sp(p); printf(″%

admin2019-04-14  29

问题 有以下程序:
#include<stdio.h>
void sp(int *a)
{
int b=2;
a=&b;
*a=*a*2;
printf(″%d,″,*a);
}
main( )
{
int k=3,*p=&k;
sp(p);
printf(″%d,%d\n″,k,*p);
}
则程序的输出结果是(    )。

选项 A、4,3,3
B、4,3,4
C、6,3,6
D、6,6,6

答案A

解析 首先在主函数中给整型变量k赋值为3,将变量k的地址赋给指针变量p,调用sp函数,将实参p的值传给形参a,在sp函数中,指针变量a又获得变量h的地址,通过运算后,输出a的值为4,返回主函数,输出k的值和p的值为3和3。故A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/lHf0FFFM
0

最新回复(0)