C 陷阱与缺陷 —— Chapter one 词法陷阱

not equal

= not equal to ==

= 是赋值 运算

== 是比较是否相等

& 不同于 &&

& 是按位与

&& 是逻辑与

| 不同于 ||

| 是按位或

|| 是逻辑或

词法贪心法

程序将程序分解为符号遵循如下逻辑:从左到右读取一个能够最初一个有意义符号的最长的字符串作为一个符号,其中的字符串不能含有空格。

y = x/*p /* p 指向除数 */; 将被识别为 y=x; /*p 别识别为注释。

改进:y = x / *p; y = x/(*p);

整型常量

整型常量的第一个数字是 0 则这个数是八进制数。

字符与字符串

单引号字符代表一个整数,查找 ASIIC 码表找对应的八进制和十进制数值。

双引号字符串,代表一个一个无名数组起始字符的指针,该数组被双引号之间的字符和一个额外的二进制为 0 的字符 '\0' 初始化。

printf("Hello world\n"); 与 char hello[] = {'H','e','l','l','o',' ','w','o','r','l','d','\n',0}; printf(hello); 等效。

相关推荐
lzjava20246 分钟前
Python中的模块和包
linux·开发语言·python
卜锦元8 分钟前
Golang后端性能优化手册(第二章:缓存策略与优化)
开发语言·数据库·后端·性能优化·golang
挖矿大亨12 分钟前
c++中值传递时是如何触发拷贝构造函数的
开发语言·c++
郝亚军13 分钟前
顺序栈C语言版本
c语言·开发语言·算法
成为大佬先秃头15 分钟前
渐进式JavaScript框架:Vue
开发语言·javascript·vue.js
yugi98783815 分钟前
基于MATLAB实现神经网络电能扰动信号特征识别
开发语言·神经网络·matlab
追光天使19 分钟前
元组、列表、字符串、字典定义及切割
开发语言·python
guygg8826 分钟前
一维信号模糊熵(Fuzzy Entropy)计算原理与MATLAB实现
开发语言·matlab
今夕资源网28 分钟前
go-tcnat内网端口映射 端口穿透 GO语言 免费开源
开发语言·后端·golang·go语言·端口映射·内网端口映射
m0_6356474835 分钟前
pyqt5打包报错:qt.qpa.plugin: Could not load the Qt platform plugin “windows“
开发语言·windows·python·qt·pyqt