0
我有這樣一段代碼:C++ - 分配的int然後指派字符CHAR到另一個詮釋
#include <stdio.h>
#include <iostream>
int main(int n, char** args)
{
int i = 140;
char c = i;
int j = c;
printf("%d", j);
system("pause");
}
輸出:
-116
據我所知,char c = i
會將具有ASCII代碼140的字符分配給c
,但我想知道在分配int j = c;
之後發生了什麼以及-116
價值從何而來?
如果我將char c = i;
更改爲unsigned char c = i;
,則輸出爲140
。 如果我在這裏不使用unsigned
,是否有j
的值等於140
? (假設i> = 0和I < = 255)