有以下程序: #include<stdio.h> main() { int a=1,b=3,C=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); } 程序的运行结果是( )。

admin2019-08-18  52

问题 有以下程序:
#include<stdio.h>
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;指定义3个指针变量,并赋值,即使p1指向a;p2指向b;p指向c。*p=*p1*(*p2);语句是给p所指的存储单元c赋值,就是p1所指的存储单元的值,即a的值,与p2所指的存储单元b的值相乘,也就是c=a*b,等价于c=1*3=3,因此C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/A4f0FFFM
0

最新回复(0)