gpt4 book ai didi

c++ - 为什么从std::cin读取输入后,右括号字符的值有时不是 ')'?

转载 作者:行者123 更新时间:2023-12-02 09:56:35 26 4
gpt4 key购买 nike

我正在遍历一些C++教程,并且遇到了可能是个琐碎的问题,但现在让我很沮丧。当我使用Xcode 11.3在C++中输出右括号字符的值时,有时会将其输出为看起来像Unicode字符的字符。

#include <iostream>

int main() {

int x;
char ch1, ch2;

std::cin >> ch1 >> x >> ch2;

if (!std::cin || ch1 != '(' || ch2 != ')') {
std::cout << "FAIL:\n";
std::cout << "ch1 = " << ch1 << "\n";
std::cout << "x = " << x << "\n";
std::cout << "ch2 = " << ch2 << "\n";
return 1;
} else {
std::cout << "SUCCESS:\n";
return 0;
}
}

在Xcode中,输入 (2)-输入为四个击键“(“,” 2“,”)“和ENTER-输入:
FAIL:
ch1 = (
x = 2
ch2 = \357

但是,如果将右括号用作流中的第一个字符,则按预期将其输出为字符 )

我猜想这与逃逸的方式有关,或者与我使用输入流的方式有关的逻辑错误。请任何人让我知道我在做什么错吗?

最佳答案

当我输入输入流时,Xcode会自动完成右括号。显然,直到现在我才注意到这一点,并且输入似乎正确,但是显然没有实际的按键操作。

关于c++ - 为什么从std::cin读取输入后,右括号字符的值有时不是 ')'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59595294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com