我一直有一个问题,这个比较if (code->at(i) == guess.at(i))
失败了,即使它不应该因为它们都是'0':http://puu.sh/bvCRB/c640fb85a4.png
guess是炭的向量s(vector<char> guess){
和code是一个指向炭的矢量vector<char> * code
请注意Visual Studio显示的区别:
Name Char Value
code[0] '\0' 0
guess[0] '0' 48
Run Code Online (Sandbox Code Playgroud)
也就是说,'0'(存储在guess[0])中是一个0带有ASCII码的字符48,而code[0]hold '\0'(见反斜杠代表一个转义字符)是一个带有ASCII码的特殊字符0(称为nul终止字符).因此,它们是不同的.