【C语言】每日一题---1

大家好,我是苏貝,本篇博客是系列博客每日一题的第一篇,本系列的题都不会太难,如果大家对这种系列的博客感兴趣的话,可以给我一个赞👍吗,感谢❤️


下面代码的结果是:

c 复制代码
#include <stdio.h>
int i;
int main()
{
    i--;
    if (i > sizeof(i))
    {
        printf(">\n");
    }
    else
    {
        printf("<\n");
    }
    return 0; 
}

A.>

B.<

C.不输出

D.程序有问题

答案:A

解析:全局变量,没有给初始值时,编译其会默认将其初始化为0。所以 i- -后 i = -1,是不是马上认为-1<sizeof(int)=4,所以选择了B?但是sizeof的返回类型是size_t,是无符号整数。因此编译器会自动将左侧i转换为无符号整形的数据,当-1 被解析为有符号数时,高位置为1,表示这个数是负数。当它被解析为无符号数时,高位的1 被当做2 的乘幂,所以仅这一位置,就有2^31,远远大于4,所以这道题的答案选A。这道题其实很隐蔽,真是虾仁猪心!!!


好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

相关推荐
丰锋ff10 分钟前
基于 Qt 的智能门禁系统(三)
开发语言·qt
消费知多少27 分钟前
解析勤策签约大西洋焊接费用核销实践案例
开发语言·c#
小柯博客1 小时前
06 · 统一 libcamerasrc 与架构定型:3A、CPU 归因与一次黑屏回归
c语言·stm32·单片机·嵌入式硬件·架构·嵌入式·视频编解码
LabVIEW开发1 小时前
LabVIEW按段拆分TDMS文件的格式边界与重构
开发语言·数据库·重构·labview·labview知识·labview功能·labview程序
asdzx671 小时前
使用 Python 为 Excel 添加各类数据验证规则
开发语言·python·excel
Romantic_love_1 小时前
理解USART真实收发过程
开发语言·stm32·单片机·学习
撩得Android一次心动2 小时前
Kotlin 语言【知识点整理3】
java·开发语言·笔记·学习·kotlin
2601_966949652 小时前
如何利用 1 分钟 K 线在 14:50 精准捕捉尾盘异动?Python 量化实战:1 分钟 K 线 + 全市场扫描
开发语言·人工智能·python·量化·quantdash·量化数据源
CarIise2 小时前
JavaScript基础语法与DOM操作实战课堂笔记
开发语言·javascript·笔记
林森lsjs2 小时前
零基础吃透二叉树:定义、遍历与高频算法 —数据结构柒
java·开发语言·数据结构·算法·二叉树