词法陷阱

来源:互联网 发布:windows易升 编辑:程序博客网 时间:2024/06/06 07:24

一、避免=与==

将if(a == 1)写成if(1 == a)

二、词法分析

每一个符号包含尽可能多的字符a---b等于(a--) -b;y = x/*p中/*视作注释符

三、整形常量

10与010含义截然不同,分别表示十进制和八进制

四、字符与字符串

单引号括起来的字符代表一个整数,而双引号括起来的字符代表一个指针


一个测试程序,对允许与不允许嵌套注释的编译器,程序都能通过编译,但结果不同:

/*/*/0*/**/1

允许注释结果为1,否则为0;


a+++++b的含义:a++ + ++b

注意:a++不能作左值,所以((a++)+++)+b错

0 0