虽然我经常使用Git,但我还是初学者.
有时,我犯了一个错误,但只有在我提交之后才发现它.在那时,我通常不得不花费很长时间在互联网上寻找我应该用来摆脱它的命令(在推送之前).
每当发生这种情况时,我发现自己想知道我经常遇到的四个术语之间的区别是什么:
我认为现在是时候一劳永逸地学习这些差异了.这些是什么?
我想通过班次unsigned char存入一个char.由于两种数据类型具有相同的长度(我的机器上有1个字节),我希望以下代码可以工作:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main () {
printf ("%d\n", sizeof(char));
printf ("%d\n", sizeof(unsigned char));
unsigned char test = 49;
char testchar = (char) (test - 127);
printf ("%x\n", testchar);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.特别是,我得到了以下输出:
1
1
ffffffb2
Run Code Online (Sandbox Code Playgroud)
这表明char已被铸造int.有人有解释,希望是解决方案吗?