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); 等效。

相关推荐
祈安_24 分钟前
深入理解指针(一)
c语言·前端
Tony Bai26 分钟前
Go 1.26 :go mod init 默认行为的变化与 Go 版本管理的哲学思辨
开发语言·后端·golang
xyq202430 分钟前
WebForms SortedList 深度解析
开发语言
Hx_Ma1633 分钟前
测试题(三)
java·开发语言·后端
CHANG_THE_WORLD1 小时前
深入理解C语言指针:从源码到汇编的彻底剖析
c语言·开发语言·汇编
星火开发设计1 小时前
序列式容器:deque 双端队列的适用场景
java·开发语言·jvm·c++·知识
码农葫芦侠1 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
键盘鼓手苏苏2 小时前
Flutter for OpenHarmony 实战:Envied — 环境变量与私钥安全守护者
开发语言·安全·flutter·华为·rust·harmonyos
特种加菲猫2 小时前
C++核心语法入门:从命名空间到nullptr的全面解析
开发语言·c++
坚持就完事了2 小时前
Java泛型
java·开发语言