有以下程序:  #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);  }  

admin2022-04-01  17

问题 有以下程序:
 #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个指针变量,并赋值,即使p41指向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/G6kp777K
0

最新回复(0)