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

相关推荐
傍晚冰川9 分钟前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
PingdiGuo_guo11 分钟前
C++智能指针的知识!
开发语言·c++
黄雪超11 分钟前
JVM——打开JVM后门的钥匙:反射机制
java·开发语言·jvm
我命由我1234526 分钟前
Spring Boot 项目集成 Redis 问题:RedisTemplate 多余空格问题
java·开发语言·spring boot·redis·后端·java-ee·intellij-idea
Rocky40136 分钟前
JAVAEE->多线程:锁策略
java·开发语言·jvm
JSUITDLWXL1 小时前
ideal2022.3.1版本编译项目报java: OutOfMemoryError: insufficient memory
java·开发语言
magic 2451 小时前
Java建造者模式(Builder Pattern)详解与实践
java·开发语言·建造者模式
前端小崔1 小时前
前端面试题之ES6保姆级教程
开发语言·前端·javascript·面试·职场和发展·ecmascript·es6
Love__Tay2 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
Lilith的AI学习日记2 小时前
什么是预训练?深入解读大模型AI的“高考集训”
开发语言·人工智能·深度学习·神经网络·机器学习·ai编程