有以下程序 #include main() { int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c; *p =*p1*(*p2); printf("%d\n",c); } 执行后的输出结果是(  )。

admin2015-07-31  25

问题 有以下程序
#include
main()
{
int  a=1, b=3, c=5;
int  *p1=&a, *p2=&b, *p=&c;
*p =*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是(  )。

选项 A、1
B、2
C、3
D、4

答案C

解析 该程序中int *p1=&a, *p2=&b, *p=&c;指定义三个指针变量,并赋值,即使p1指向a;p2指向b;p指向c。*p=*p1*(*p2);该条语句是给p所指的存储单元c赋值,就是p1所指的存储单元的值,即a的值,与p2所指的存储单元b的值相乘,也就是c=a*b,等价于c=1*3=3;因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/dnDp777K
0

最新回复(0)