zfw5850 2015-12-15 15:36 采纳率: 100%
浏览 1444
已采纳

为什么赋给值指针(动态指针)值时,两次输出不一样?并且输出的地址也不一样,怎么让它们一样

#include
#include
using namespace std;
main()
{
string str1;
cout<<"输入一个数";
cin>>str1;
char *Num1=new char[str1.length()];
int *num1=new int[str1.length()];
str1.copy(Num1,str1.length(),0);
for (int i2=0;i2<str1.length();i2++)//第一次输出
{
*num1=*Num1-48;//转换成数字,赋值给动态指针
cout<<*num1<<endl;//输出指针值
cout<<num1<<endl;//输出地址
num1++;
Num1++;

}
cout<<endl;
for (int i=0;i<str1.length();i++)//第二次输出
{
    cout<<num1;
    num1++;
    cout<<endl;
}

}
测试结果:图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-12-15 15:44
    关注

    你改变了指针,那么肯定得不到了。
    除非你再加一个变量在你修改以前
    int *num1=new int[str1.length()];
    int * oldnum1 = num1;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退