问题 填空题

设有以下程序:
#include<iostream>
using namespace std;
int main()

int a,b,k:4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
cout<<a<<b<<end1;
return 0;

执行该程序后,a的值为 【7】 ,b的值为 【8】

答案

参考答案:[7]0[8]7

解析: 本题考核的知识点是有关指针的运算。程序中定义了两个指针变量p1和p2,并通过赋初值让它们分别指向了变量k和m。语句“a=p1==&m;”中先执行关系运算符“p1==&m”,显然是0(假),然后把0赋值给a。接着执行语句“b=(*p1)/(*p2)+7”,此处*p1的值就是k的值4,*p2的值就是m的值6,即把“4/6+7”的结果赋给b,b的值为7。

多项选择题
单项选择题