【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。这道题其实很隐蔽,真是虾仁猪心!!!


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

相关推荐
麦麦鸡腿堡1 小时前
Java的单例设计模式-饿汉式
java·开发语言·设计模式
简单点了1 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
傻童:CPU1 小时前
C语言需要掌握的基础知识点之前缀和
java·c语言·算法
degen_1 小时前
第一次进入 PEICORE 流程
c语言·笔记
爱吃山竹的大肚肚1 小时前
@Valid校验 -(Spring 默认不支持直接校验 List<@Valid Entity>,需用包装类或手动校验。)
java·开发语言
汤姆yu2 小时前
2026版基于python的协同过滤音乐推荐系统
开发语言·python
汤姆yu2 小时前
基于python的电子商务管理系统
开发语言·python
我是大咖2 小时前
C语言-贪吃蛇项目开发工具篇---ncursee库安装
c语言·开发语言
czy87874752 小时前
用C语言实现单例模式
c语言·单例模式
czy87874753 小时前
用C语言实现适配器模式
c语言·适配器模式