程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> string-為什麼賦給值指針(動態指針)值時,兩次輸出不一樣?並且輸出的地址也不一樣,怎麼讓它們一樣

string-為什麼賦給值指針(動態指針)值時,兩次輸出不一樣?並且輸出的地址也不一樣,怎麼讓它們一樣

編輯:編程綜合問答
為什麼賦給值指針(動態指針)值時,兩次輸出不一樣?並且輸出的地址也不一樣,怎麼讓它們一樣

#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;
}

}
測試結果:圖片說明

最佳回答:


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved