- 博客(6)
- 收藏
- 关注
原创 设计代码求解计算机是小端字节序还是大端字节序
字节序指多字节数据在内存中的存储顺序,分为大端和小端两种。大端字节序将高位字节存放在低地址,小端字节序则相反。以int类型数字1(0x00000001)为例,大端存储为00 00 00 01,小端存储为01 00 00 00。通过C程序可以判断计算机的字节序:将int型变量强制转换为char指针,检查首字节内容即可区分大小端。实际验证表明现代计算机多采用小端存储方式。该方法通过强制类型转换获取单个字节内容进行判断,简单有效。
2025-08-05 17:33:01
430
原创 由于数组越界访问导致的死循环
在栈内存中,先使用高地址的空间,再使用低地址的空间。当i = 12时,arr[12] = 0的操作。在C语言中,局部变量的内存开辟在栈区中。数组随着下标的增长,地址由低到高变化。,因此,i 永远无法大于12。所以就造成了代码的死循环。同时将 i 赋值为0。
2025-07-30 12:10:15
210
原创 求解一个二进制数中1的个数的三种解法
我们可以将题目理解为求解一个二进制数中每一位上的数相加,如果是0则相加后对于求和不影响,如果为1则每一位上的1相加后得到的恰好是二进制数中1的个数,这是由于二进制每一位上的最大数字恰好是1所产生的特点(即count++ = count + 1)。根据以上理解,我们可以得到三种不同的解法。如果想要得到一个十进制数中每一位上的数,我们可以将这个数不断的(%10)再(/10)直到这个数变为0为止。例如:12345————5————4123%10=3;123/10=12;————3————2。
2025-07-28 13:33:22
909
原创 使用修饰符“#”控制前导显示
本文介绍了常用格式说明符的功能:#标记对不同格式符的影响:%d输出有符号十进制整数;%o输出带前导0的八进制无符号整数;%x/%X分别输出带0x/0X前缀的小/大写十六进制无符号整数。其中#对%d、%s、%u、%c无影响,但会为%o添加前导0,为%x/%X添加0x/0X前缀。这些规则在格式化输出时需特别注意。
2025-07-20 11:49:12
213
原创 C语言“逻辑与”和“逻辑或”的一些特点
逻辑运算符"&&"和"||"具有短路特性:1)逻辑与从左至右检测,遇到第一个假值即停止;2)逻辑或从左至右检测,遇到第一个真值即停止。示例中因a=0(逻辑假)导致后续操作被跳过,仅执行a++,最终结果为a=1,b=2,c=3,d=4。这种短路特性可提高程序效率,避免不必要的计算。(99字)
2025-07-09 12:37:03
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅