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)