开发平台(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读取错误。
求各位前辈指点迷津!!谢谢各位!!