想c语言大神问问题 int z=128 char c c=z

想c语言大神问问题
int z=128
char c
c=z为什么答案是-128啊

因为int有4个字节也就是32位,所以128不会溢出
而char只有一个字节,8bit,范围是-128~+127
所以当你赋值时候其实溢出了,所以取补码,也就是-128
温馨提示:内容为网友见解,仅供参考
无其他回答

想c语言大神问问题 int z=128 char c c=z
因为int有4个字节也就是32位,所以128不会溢出 而char只有一个字节,8bit,范围是-128~+127 所以当你赋值时候其实溢出了,所以取补码,也就是-128

C语言中关于char和int的问题
C语言是一种弱类型语言,如果使用熟练了你就会知道,类型什么的都是浮云,内存才是王道,考虑问题的时候要深入本质才行,关于这个问题从内存来看,如下:char是字符型,内存中占用 1 个字节,取值范围是-128到127,int类型占用 4 个字节,范围就不说了,肯定是比char要大的多,这两个都是有符号数。...

c语言中char的范围是多少?c='z';c=c+1;printf("c=%c\\n",c)的结果?
char应该是0~255 标准的有0~127,ASCII码标准一般定义字符为7位,后来又扩张到8位,但是标准繁杂,不统一

一些C语言题目!求高手答疑!谢谢了!!!
1,int和char虽然可以转换,但是如果互相转换了,想得到的原值就不一样了。2,第一条语句语法上应该是错误的;第二条把float类型的f模以int类型的i后,把他们的结果转换成(int)3.double是占8个字节,folat和int都占4个字节,char占一个字节,所以double比她们高位,所以低位向高位进行自动类型提升、...

C语言中int和double或者char问题。
不同编译器不同,vc应该可以,但老的一些编译器只能一行给一个变量赋值

C语言中的一个小问题,麻烦大神看一下
"%c",&k);被读入了,这里读入的是回车。因为有字符可以读入,所以程序没有停顿等待你输入。原因解释清楚了,剩下的好办了,把那个回车处理掉就行了。scanf("%lf,%lf,%lf",&a,&b,&c)之后, scanf("%c",&k); 之前,找个地方添加一句 scanf("%c",&k); 或者k=getchar()就办了 ...

C语言中定义一个字符:char chr;问:c='101'和c=101两个表达式哪个对,为 ...
chr是已经声明是一个字符变量,它有两种赋值方式:第一是字符方式如chr='e';第二是asc码方式,就是把字符的asc码值赋给它,如chr=101。两种方式是等价的。在c语言中,单引号是代表单个字符的标志,如'a'、'6'等。'101'这种表示不知所云。所以chr='101'是错误的。

c语言中char str[128]括号里为什么是128
你好,从你的问题判断,你大概是看到了一个程序片段,其中有一个char str[128],于是你不理解为什么。建议你从头到尾通读一遍程序,128代表字符数组的长度,从str[0]到str[127],之所以是128,而不是其他值关键在于这个程序片段定义了它之后想拿来做什么用。就像我找到一个1升水的瓶子,我每次可以舀1...

C语言中 怎么转换char到int
char a = 'A'那么执行如下:int b = a;那么此时的b = 65,就是把char转化为int了。将int转化为char方法同上~~但是要注意的是内存的一出问题~最好别做int转化为char,因为在当今64位系统下,char是1个字节,而int是2个字节~从2个字节转化为一个字节会出现内存泄漏~~但是从1个字节转化为2个...

c语言题目,
答案:98 A 说明:char c1 = 98;因为98是int类型,被赋给char型变量时会自动转型为ASCII码表中数字98对应的字符'b',所以这句执行完,c1存放的是字符'b',不是98。printf ("%d %c\\n", c1, c1 - 32);控制字符串里的第一个格式说明符%d把后面的第一个参数c1以整数(int)类型输出,第二个...

相似回答