我正在尝试 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)