词法问题
1:=为赋值符号
==为比较符号
例如:x=y是将y的值赋给x
x==y则是判断x和y是否相等(这个问题我刚学编程甚至大学毕业的时候还是犯错)
2:&和|是按位运算符
&&和||是逻辑运算符
3:词法分析中的贪心法
如果输入流截止至某个字符之前都已经被分解为一个个符号,那么下一个符号将包括从该字符之后可能组成一个符号的最长字符串。
例如:y=x/*p 此语句并不能计算x除以p指向的数,而是将x的值赋给y,/*表示后面的则是注释
4:整型常量
整型常量第一个字符是数字0,则该常量将被视为八进制数。
10:十进制表示仍是10
010:十进制表示则是8
5:字符和字符串
单引号引起的一个字符实际上代表一个整数
双引号引起的字符串代表的是一个指向无名数组起始字符的指针
’a'和“a”含义并不一样