0
点赞
收藏
分享

微信扫一扫

sizeof的迷惑行为

问题:判断下面代码的运行结果?

A.>    B.<      C.不输出    D.程序有问题

分析:i为全局变量,未设初始值时,编译器默认初始化为0。所有i--为-1,sizeof(i)求i类型大小为4,家人们,选B吗?

但是,sizeof返回的值是无符号整形,编译器自动将左侧转换为无符号整形数据。即-1对应的无符号整形是一个非常大的数,一定超过4或者8,故选A。   

拓展:sizeof的计算结构是无符号的整数unsigned int,

size_t --是sizeof计算的结果的类型                                                                                                

代码如下:

sizeof的迷惑行为_问题分析

运行结果:

sizeof的迷惑行为_初始化_02

sizeof的迷惑行为_初始化_03

举报

相关推荐

0 条评论