填空题
设有以下程序:
#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的值为{{U}} 【7】 {{/U}},b的值为{{U}} 【8】 {{/U}}。
【正确答案】
1、[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。