開發平台(Platform): (Ex: Win10, Linux, ...)
Arch Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
char a='a';
char *ptr=&a;
cout<<ptr;
預期的正確結果(Expected Output):
基於以下程式碼:
char a[]="hello world";
char *ptr=&a;
cout<<ptr;
會輸出hello world,因此猜測該問題應該輸出a
錯誤結果(Wrong Output):
a?????(?為亂碼)
補充說明(Supplement):
因平常寫code不常使用char的pointer,突然同學問了character相關的問題就卡住了。
因轉換為void*的address看起來都正常,
因此目前個人猜測是因為轉換時因a宣告並非array,因此只有1byte,
只有記下'a',而沒有記下'\0',因此造成ptr讀取錯誤。
求各位前輩指點迷津!!謝謝各位!!