永发信息网

C语言问题?

答案:4  悬赏:20  手机版
解决时间 2021-01-29 09:47
  • 提问者网友:风月客
  • 2021-01-28 19:42
C语言问题?
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-01-28 21:14
char的范围是-128~127的
你362就溢出了嘛
是这样的
0362 0是表示8进制
于是362在10进制下是242
242溢出了(-128~127)
于是结果变成242-128-128=-14追问请问怎么学习C语言啊,好多代码都看不懂追答这题的话,除非考试时问你,平常编程根本不可能写的呀
C语言还是很简单的,拿本入门的书看看就很好了
熟悉下基本的数据类型啊、语法啊、什么if-else switch for goto语句啊就行了
难的是算法
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-01-29 00:00
c=0362
这个是八进制的,转换成十进制即正常的那么就是-14了哦!
  • 2楼网友:蕴藏春秋
  • 2021-01-28 22:37
char型的最大值是255,显然溢出了,肯定出错,至于为什么是-14要看数据存储了
  • 3楼网友:拾荒鲤
  • 2021-01-28 22:09
要明白这个,首先要明白内存中 c 变量是什么样子的。
整数在内存中是以补码的形式存取的。
c = 0362 这是一个 8 进制的标识方法。换算成二进制是:c = 0362 //八进制数
二进制表示为 011 101 010
由于c是char类型 只占一个字节 8位 就是 11 101 010
打印出来 就是-14 了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯