为什么 printf 输出的是字符而不是数据?\n看代码,相对能明白我要做什么,但是不太明白为什么输出是这样的
\n#include <vector>\n#include <string>\n#include <cstdio>\n\nclass Person\n{\npublic:\n Person(const std::string& name, uint16_t old)\n : m_Name(name)\n , m_Old(old) \n {\n }\n\npublic:\n std::string GetName() const { return m_Name; }\n uint16_t GetOld() const { return m_Old; }\n\nprivate:\n std::string m_Name;\n uint16_t m_Old;\n};\n\nint main()\n{\n std::vector<Person> person = { Person("Kyle", 26), Person("Max", 20), Person("Josiah", 31) };\n for (uint16_t i = 0; i < person.size(); ++i)\n {\n printf("Name: %s Old: %u\\n", person[i].GetName(), person[i].GetOld());\n }\n return 0;\n}\n\n\n> // output\n> Name: \xd0\xac\xc2\xb7\xe2\x95\xa3 Old: 1701607755 \n> Name: \xd0\xac\xc2\xb7\xe2\x95\xa3 Old: …Run Code Online (Sandbox Code Playgroud)