c++ 编程习题的问题?帮个忙

有2道题不知道怎么做 有谁帮个忙第一道为了解答下面的答案写一个程序提示int a=10;int *p=a;int &b =a;int r[3][2]={{1,2},{3,4},{5,6}};int (*p)[2];p=r;按顺序答案记述1. *p 的答案多少?2. *&a的答案多少?3.*(r[1]+1)的答案多少?4.*(&r[0][1])的答案多少?5.**r的答案多少?6*(*(r+1)+2)的答案多少?使用构造函数把下面的____的答案写上,然后为了求答案的过程 写一道程序。-省略-struct abc{int a;char b[10];};void input(abc *ptemp);void prn(abc &temp)void main(){ abc x[2] ={1,"李明"},{2,"王亮"}};input(x);prn(x);}{void input(abc *ptemp){for(i=1;i<=1;i++){cin>>____;cin>>____;}}void prn(abc &temp){for(i=1;i<=1;i++){cout<<"尀n"<<_____<<"尀n"<<______;}}帮忙解答最好有注解更好上面2道题程序部分是参考 改动也可以。能把完整的写一下吗?
2026年09月24日 03:06
有2个网友回答
网友(1):

1. *p 的答案多少?答:10 //*p=a=10
2. *&a的答案多少?答:10 //&a是变量a的地址,*&a指向变量a,所以是10
3.*(r[1]+1)的答案多少?答:4 //1行1列元素r[1][1]的值
4.*(&r[0][1])的答案多少?答:2 //&r[0][1]表示0行1列的地址,*(&r[0][1])指向0行1列元素的值
5.**r的答案多少?答:1 //0行0列元素r[0][0]值
6*(*(r+1)+2)的答案多少?答:4 //表示1行2列元素r[1][2]的值

void input(abc *ptemp) {
for(i=1;i<=1;i++) {
cin>>ptemp->a;cin>>ptemp->b; //ptemp为指针,所以用->来表示指向的对象
}
}

void prn(abc &temp) {

for(i=1;i<=1;i++) {
cout<<"\n"< }
}

====================================================
重新帮你改了一下,上面那段程序可以运行了。

#include
#include
using namespace std;

struct abc {
int a;char b[10];
};

void input(abc *ptemp);
void prn(const abc &temp);

void main()
{
abc x[2] ={{1,"李明"},{2,"王亮"}};
input(x);
prn(x[0]);
}
void input(abc *ptemp){

for(int i=1;i<=1;i++){
cin>>ptemp->a;cin>>ptemp->b;
}
}
void prn(const abc &temp)
{
for(int i=1;i<=1;i++)
{
cout<<"\n"< }
}

网友(2):

第一个
main()
{
int a=10;
int *p=a;
int &b =a;
int r[3][2]={{1,2},{3,4},{5,6}};
int (*p)[2];
p=r;
printf("%d %d %d %d %d %d %d",*p,*&a,*(r[1]+1),*(&r[0][1]),**r,*(*(r+1)+2))
}