所以我有以下代碼:C++:指針輸出困惑我
cout << _userLoginName << endl;
cout << *_userLoginName << endl;
cout << (_userLoginName+1) << endl;
cout << *(_userLoginName+1) << endl;
可變char * _userLoginName
已被設置等於"smith"
。我的問題很簡單:爲什麼在最後幾行代碼中我會得到以下輸出?
smith // as from cout << _userLoginName << endl;
s // as from cout << *_userLoginName << endl;
mith // cout << (_userLoginName+1) << endl;
m // cout << *(_userLoginName+1) << endl;
我真的嘗試推理結果,但我無法弄清楚。 謝謝。
如何打印實際值然後(參數的地址)? – Yokhen 2012-02-01 00:11:50
@Yokhen:要打印地址,您通常可以使用類似'cout << static_cast(_userLoginName)'的方式逃脫。 –
2012-02-01 00:12:41