int类型长度由什么决定的?
可能在很多书籍上会看到,C/C++的int类型长度随系统而定。这里的系统,并不是操作系统,也不是硬件平台,而是编译器。编译器是直接阅读源代码并决定int长度的,只是大家为了简化,常说是随系统而定。一些 …阅读更多
可能在很多书籍上会看到,C/C++的int类型长度随系统而定。这里的系统,并不是操作系统,也不是硬件平台,而是编译器。编译器是直接阅读源代码并决定int长度的,只是大家为了简化,常说是随系统而定。一些 …阅读更多
整数10000不能写成10 000或者10,000, 原因在于为了简化编译器parser字面量的复杂度。一个标准的编译器词法分析器遇到数值类型会不断获取数字并累积,一旦遇到非数字就会退出。如果允许数字 …阅读更多
尽管小键盘Enter在快速输入小键盘数字后按确定很有用,网络也有传闻二者对应的按键Code不一样,事实上,我们做一下这个实验就可以得到真相。 c …阅读更多
很可能在输入的时候,带入了空格等其他字符,导致将不预期的字符传入c. 解法是在%c前面加上空格,即scanf(” %c”, &c)可以提醒libc忽略前导的空格、回车、 …阅读更多
在数学或者计算机科学中,判断相等相比于赋值,个数少的可怜。按照编码理论,出现次数越多的符号用最少的字符编码更有利。用”=”当做赋值,”==”相等也是有道理的。
这就是ObjC运行时的魅力,编译器查找已有的头文件,没看到这个对象能处理此消息,但ObjC宁愿相信运行时可能在其他地方找到实现,这是ObjC最初设计的目标之一,可以不依赖编译期。提示的警告形如: …阅读更多
libc解析格式串是按预定义的格式,当看到%l的时候,会向后查看是否是d/x/i/f等字符,但看到%g的时候就知道后面不管是任何格式都不是支持的,就会当做浮点数解析,当然后面的x当做原字符输出。