C语言中关于 int 型的问题。
发布网友
发布时间:2023-05-18 04:28
我来回答
共5个回答
热心网友
时间:2023-09-22 20:32
1. 不同的编译器int的长度不同,各种数据类型的长度也不一定相通
16位编译器int=short int=2字节
32位编辑器int=log int=4字节
具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));
2. C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296,所以你的程序可能可以运行
3. 你应该是用vs系列的编译器吧
微软把int类型分配了4个字节
就是int的范围是2147483647~-2147483648所以 可以执行
-----来自百度。
我也只是书上看到定义是: int的取值范围是 -32768~32767
自己跑了一下果然是。。。
热心网友
时间:2023-09-22 20:33
在c语言中有些时候
int
和
char
看上去是可以通用的。
在你上面举的例子中,是以字符的形式显示
a
所表示的ascii码字符,
ascii的取值范围0~255,也就是1个字节。
char在c语言中是1个字节,而int要看不同的硬件、操作系统平台的不同而有区别,但不会小于2个字节,即最小2字节。
如果
int
类型赋值超过255时,c语言会取int
2个字节中的低字节的数据作为有效数据,也就是,350
等价于
94,因为350的低字节是94
热心网友
时间:2023-09-22 20:33
你是不是用的vc的编译器?
标准C中规定int是2字节。
vc编译器中,int是4字节,其范围是-2^31~2^31-1
vc编译器中,short int类型是2字节,等同于标准C中的int
你把程序中的int 前加上 short,看看结果 就对了。追问是不是,只有int类型的才这么“不确定”?其他类型的,例如long 的是不是就无论哪种编译器都是32位?
追答其他类型的没研究过,不过初学者也暂时不用研究这个,也用不到,也不能考。。。
知道int这个事就行了
热心网友
时间:2023-09-22 20:34
k++为自增一
其顺序是,现将k作为表达式运算后在自增一
自增后变量k的值为11+1=12
因此两个空都是12
望采纳!
热心网友
时间:2023-09-22 20:34
你的书很原始 那时候int是16位 -32768~32767
现在的cpu都64位了 你想想 int还可能是16位么
现在的int是32了
min:-2147483648 max:2147483647
满意请采纳 不懂继续问追问是不是,只有int类型的才这么“不确定”?其他类型的,例如long 的是不是就无论哪种编译器都是32位?
追答时代在变化 其实多多少少都有变化
你记住 现在的
int 32
long 32
double 64
float 32
char 8
指针 32
以后如果都128位cpu了 你说呢 肯定又会变