.若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是: A、a[p] B、p[a] C、p+2 D、*(p+2)

如题所述

答案为D。参考下面程序23行
p[2]=*(p+2)

#include <iostream>
using namespace std;
void test(double a[3][4])
{
int i,j;
double k;
double* b =a[0];

for(i=0;i<3;i++)
{
k=a[i][0];
//通过for循环找到最大值
for(j=1;j<4;j++)
{
if(k<a[i][j])
{
k=a[i][j];//k记录最大值
}
}

//将最大值与第一列的元素除
for(j=1;j<4;j++)
*(b+i+j)=a[i][j]/k;//k记录最大值 //这个语句就是你要的答案
}
//输出数组,用以验证程序结果
for(i=0;i<3;++i)
{
for(j=0;j<4;++j)
cout<<*(b+i+j)<<" ";
cout<<endl;
}
}

void main()
{
int i,j;
double a[3][4]={1,2,3,4,
5,6,7,8,9,
10,11,12};
//嫌每次输入麻烦,故选择上面的语句
/* for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
cin>>a[i][j];
} */
for(i=0;i<3;++i)
{
for(j=0;j<4;++j)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
test(a);
}
温馨提示:答案为网友推荐,仅供参考