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

相关推荐
2601_9555181841 分钟前
C语言标准演化史:从K&R到GNU,谁才是正统?
c语言·gnu·标准演化·ansic·性能与可移植性
废弃的小码农1 小时前
功能测试--Day07--Python编程基础
开发语言·python
fengci.1 小时前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
程序员zgh2 小时前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
念何架构之路2 小时前
restartmanager-重启管理子系统
java·开发语言
SomeB1oody3 小时前
【RustyML入门】2.0. 经典机器学习
开发语言·后端·机器学习·rust·教程
小婷一直在努力3 小时前
自定义类型:联合和枚举
c语言·联合和枚举
0566464 小时前
Python高级——解释器执行原理与虚拟环境工程化实战
开发语言·python
weixin_456808384 小时前
【沁恒蓝牙开发】BLE常见错误码与解析
c语言·单片机·嵌入式硬件
HJX_07244 小时前
嵌入式软件C语言八股文复习笔记5——编译、链接与底层硬核机制
c语言·开发语言·笔记