c语言中的问题

世纪末の魔术师 |浏览267次
收藏|2022/03/06 11:49

满意回答

2022/03/06 12:09

一。 char Ymt[5]={20,2000,60,80,112,40,};从语法上没有问题,可以编译通过(只是某些编译器会有警告)逻辑上1。char 的范围是-128~127,你的初始值超出范围为2。 Ymt[5]最多只能5个元素,而你给了6个,下标溢出了若要完全没有警告,可改为 char Ymt[]={20,-48,60,80,112,40};二。unsigned char m=255;m++;结果m为0因为unsigned char的范围就是0~255当255+1,它运算溢出了(计算机原理中有详细介绍),结果只能截取后8位,也就是0

whoami1978

其他回答(0)
0人关注该问题
+1

 加载中...