问题:判断下面代码的运行结果?
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,整形 From: https://blog.51cto.com/u_15830263/5870650