阅读以下程序,分析下面语句序列中每一个字符“*”和“&”的含义,并写出输出结果。
#include <iostream>
using namespace std;
int main()
{
int a=10, b=20;
int *p = &a, *q = &b;
*p = *p * *q;
int & ra = a;
ra=a;
int * & rt = q;
*rt = 30;
cout<<"a="<<a<<"\nb="<<b<<"\n*p="<<*p<<"\n*q="<<*q
<<"\nra="<<ra<<"\n*rt="<<*rt<<endl;
} 
字符“*”和“&”的意义见程序中添加的注释。
#include <iostream> using namespace std; int main() { int a=10, b=20; int *p = &a, *q = &b; //“*”是指针类型说明符,“&”是取址运算符 *p = *p * *q; //第1、2、4个“*”是间址访问符,第3个“*”算术乘运算符 int & ra = a; //“&”是引用说明符 ra=a; int * & rt = q; //“*”是指针类型说明符,“&”是引用说明符 *rt = 30; //“*”是间址访问符 //输出语句中的“*”是间址访问符 cout<<"a="<<a<<"\nb="<<b<<"\n*p="<<*p<<"\n*q="<<*q <<"\nra="<<ra<<"\n*rt="<<*rt<<endl; }程序输出结果为:
a=200
b=30
*p=200
*q=30
ra=200
*rt=30