wordpress
2024年 4月 24日
2024年 4月 24日
64位编译器int类型依然是32位?
Ubuntu 22.04 64位系统默认gcc是64位,可执行文件在/usr/bin/x86_64-linux-gnu-gcc,Windows 10 64位Cygwin gcc.exe同样也是64位,...
2024年 4月 24日
int类型长度由什么决定的?
可能在很多书籍上会看到,C/C++的int类型长度随系统而定。这里的系统,并不是操作系统,也不是硬件平台,而是编译器。编译器是直接阅读源代码并决定int长度的,只是大家为了简化,常说是随系统而定。一些...
2024年 4月 24日
数字中间为什么不能插入空格或逗号?
整数10000不能写成10 000或者10,000, 原因在于为了简化编译器parser字面量的复杂度。一个标准的编译器词法分析器遇到数值类型会不断获取数字并累积,一旦遇到非数字就会退出。如果允许数字...
2024年 4月 24日
小键盘的Enter和大键盘的Enter的区别
尽管小键盘Enter在快速输入小键盘数字后按确定很有用,网络也有传闻二者对应的按键Code不一样,事实上,我们做一下这个实验就可以得到真相。 c...
2024年 4月 23日
为什么scanf("%c", &c)有时发现c根本不是想象中的字符?
很可能在输入的时候,带入了空格等其他字符,导致将不预期的字符传入c. 解法是在%c前面加上空格,即scanf(" %c", &c)可以提醒libc忽略前导的空格、回车、TAB等字符。
2024年 4月 23日
为什么很多编程语言判等用==而不是=?
在数学或者计算机科学中,判断相等相比于赋值,个数少的可怜。按照编码理论,出现次数越多的符号用最少的字符编码更有利。用”=”当做赋值,”==”相等也是有道理的。
2024年 4月 23日
2024年 4月 23日
为什么ObjC向一个对象发送它无法处理的消息,编译器只是警告不报错?
这就是ObjC运行时的魅力,编译器查找已有的头文件,没看到这个对象能处理此消息,但ObjC宁愿相信运行时可能在其他地方找到实现,这是ObjC最初设计的目标之一,可以不依赖编译期。提示的警告形如:'ob...