心跳文学部名字:C语言问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/08 21:07:30
我是个初学者想请教以下几个问题,谢谢了!
#include<stdio.h>
main()
{
short int n=0x7fff,m=n+1;
printf("%d\n,m)
结果为什么是-32768

以下标识符正确的是(为什么)
A项void define WORD;B项as_b3 _123 If

k=int(a+b);a=58,b=58;这两个语句合法吗?

short int是有符号整数,0x7FFF对应二进制是01111111 11111111,加1后为10000000 00000000,最左边是1,所以是负数,按照补码规则,减1取反,得到其绝对值为正的10000000 00000000,即十进制的32768,所以该负数为
-32768.

0x表示是16进制,7FFF对应的ASCII码是01111111 11111111,然后加上1以后就发生溢出。也就是100000000 00000000。也就是十进制的-32768。(注意0正,一负,对应的是第一个数字)。就像汽车的里程表一样,到达最高的位数就要发生溢出。
标识符的定义是:字母,数字以及下划线组成且第一个必须是字母或下划线。还不可以是关键字。 那么答案就不言而预拉。