关于C++指针小问题 10
#include<iostream>usingnamespacestd;voidmain(){intm=1,n=2;int*p1=&m,*p2=&n;*p1+=3;p2=...
#include <iostream>
using namespace std;
void main()
{
int m=1,n=2;
int *p1=&m,*p2=&n;
*p1+=3;
p2=p1;
*p2*=4;
cout<<"m:"<<m<<"n:"<<n<<endl;
}
m和n的值分别是多少?为什么? 展开
using namespace std;
void main()
{
int m=1,n=2;
int *p1=&m,*p2=&n;
*p1+=3;
p2=p1;
*p2*=4;
cout<<"m:"<<m<<"n:"<<n<<endl;
}
m和n的值分别是多少?为什么? 展开
7个回答
展开全部
这些你可以分步查看输出,不要老是问别人,替你修改一会:
#include <iostream>
using namespace std;
void main()
{
int m=1,n=2;
int *p1=&m,*p2=&n;
*p1+=3;
cout<<"m:"<<m<<"n:"<<n<<endl;
p2=p1;
cout<<"m:"<<m<<"n:"<<n<<endl;
*p2*=4;
cout<<"m:"<<m<<"n:"<<n<<endl;
}
#include <iostream>
using namespace std;
void main()
{
int m=1,n=2;
int *p1=&m,*p2=&n;
*p1+=3;
cout<<"m:"<<m<<"n:"<<n<<endl;
p2=p1;
cout<<"m:"<<m<<"n:"<<n<<endl;
*p2*=4;
cout<<"m:"<<m<<"n:"<<n<<endl;
}
追问
我有编译器 其实我知道结果 主要是想问 为什么是这个结果
追答
晕,自己分步查看,分步分析,哪一步不知道原因再说……
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int m=1,n=2;
int *p1=&m,*p2=&n;
*p1+=3;//此时p1指向m,m+=3,m==4
p2=p1;//将p1的地址付给p2,此时p2也指向m
*p2*=4;//此时p2指向m,m*=4,m==16
cout<<"m:"<<m<<"n:"<<n<<endl;//n不变,m==16
int *p1=&m,*p2=&n;
*p1+=3;//此时p1指向m,m+=3,m==4
p2=p1;//将p1的地址付给p2,此时p2也指向m
*p2*=4;//此时p2指向m,m*=4,m==16
cout<<"m:"<<m<<"n:"<<n<<endl;//n不变,m==16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询