小编Mik*_*ski的帖子

向字符添加正数会意外降低其值

我正在尝试 Caesar Cipher 问题,并陷入了一个非常像寻找 bug 的初学者,但我不知道为什么我的代码会这样。我向字符中添加了一个整数,并希望它的值增加,但我得到的是一个负数。这是我的代码。虽然我找到了解决方法,但是为什么这段代码会这样呢?

#include <iostream>
using std::cout; using std::endl;

int main()
{
    char ch ='w';
    int temp;
    temp = int(ch) + 9;
    ch = temp;
    cout<<temp<<endl;
    cout<<(int)ch;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

128
-128
Run Code Online (Sandbox Code Playgroud)

c++ c++14

1
推荐指数
1
解决办法
54
查看次数

标签 统计

c++ ×1

c++14 ×1