66问答网
所有问题
c语言第十八题为什么输出结果是负的?
如题所述
举报该问题
其他回答
第1个回答 2016-07-02
short是16位二进制,它的十进制范围是-32768~32767。b=a+1=32767+1=32768就溢出了,使D15位(就是最高位)变成了1。但输出是按%d格式(即32位有符号十进制)的,所以要把符号位向前扩展16位变成32位数字(16进制FFFF8000),这刚好是十进制数-32768的补码。
第2个回答 2016-07-02
格式符%d输出有符号整数。
short int 类型字节数为2,最大值为33767(0x7fff)。32767+1=32768(0x8000),这时,%d将32768(0x8000)当成补码,补码的值为-32768
第3个回答 2016-07-02
int型数据取值范围是
-32768~32767
当超过32767后就从负的开始了
欢迎追问~~
追问
蟹蟹么么哒
本回答被提问者采纳
相似回答
c语言第
十二,
十八题什么
意思
答:
赋值语句从右向左执行,因此先执行n*n得4,再执行n-=4得n=-2,最后执行n+=-2得n=-4。sizeof关键字返回一个变量或一种数据类型占用的内存空间数,单位为字节。double型占用8字节空间。
请问
第十八题
该怎么判断 sin∝算出来
是负的
基础不好
求详细解析 谢 ...
答:
图
C语言第十八题
,刚入门C语言,答案是D有图,希望怎么得到的过程详细一些...
答:
在fun函数内部修改了变量c和d的值;
十八题
不应该
输出
y=8 x=16吗
为什么是
这个
结果
啊 还有其中的y++的先...
答:
y++ y=1; x+=++y y先自加y=2 x=0+2=2 x=2 y=2 x<15 y++ y=3; x+=++y y先自加y=4 x=2+4=6 x=6 y=4 x<15 y++ y=5; x+=++y y先自加y=6 x=6+6=12 x=12 y=6 x<15 y++ y=7; x+=++y y先自加y=8 x=12+8=20 20>15退出循环 y=8 x=20 ...
高分求解
C语言习题
!
答:
a%2!=0;17,并,或,非,&&,||,!
18
,x<z||y<z 19,0,或的两边都是假的,整个式子就是假的 20,1,21,1,同上 22,0,两边都为假 23,x>2&&x<3||x<-10 24,a>4&&a<12 25,3,?:的使用方法是,a?b:c,如果a是真 的,则结果为b,如果a是假的则
结果为c
...
请问各位,
第十八题
有语法错误的
为什么是
D
答:
只有++,--,没有+-,-+!要么是(x+1)+++y,(x+1)--+y,(x+1)+--y.这个就是只增++,自减--与算数运算加,减的混合!
大家正在搜
c语言把结果输出到文件
c语言空格怎么输出
c语言long类型怎么输出
c语言是什么
c语言怎么输出汉字
c语言输出字符
c语言每行输出5个数
c语言printf输出中文
c语言输出格式
相关问题
一道C语言题,为什么输出的结果为负数?
c语言问题,为什么我输入什么值算出来的都是负的?
C语言问题,输出结果总是负数,求教.题目:编输出为3个整数的...
C语言,为什么它的运行结果为负值?
为什么用c语言编写根号计算的时候输出结果居然为负?
C语言问题,为什么输出的Fibonacci数会出现负数?
C语言程序 没有错误 但是输出结果是负数。。。求大神解答
C语言怎么输出结果为负数的小数,比如-8/3怎么让它显示出是...