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

admin2020-07-28  30

问题 有以下程序:
  #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://kaotiyun.com/show/6Q3p777K
0

最新回复(0)