C陷阱与缺陷 1

1,符号之间的空白被忽略

符号中间不能嵌入空白

2,词法分析中的贪心法

a---b 和 a-- -b相同

和 a- --b不同

1
a=b/*p //根据贪心法 /*被解释成 注释符,便不再往下读,直到匹配 */
1
a=b/ *p//*号优先级大于 / 故为b除以 p所指向的值

根据编程规范,方便阅读,减少出错的可能

1
a=b/(*p)

3,理解函数的声明

4,运算符的优先级

5,分号的使用

1

1
2
if()
a;
1
2
if();
a;

2

1
2
3
return;
a;
b;
1
2
3
return
a;
b;

3.

1
2
3
4
5
6
7
struct sa
{
 
};
main()
{
}
1
2
3
4
5
6
7
struct sa
{
 
}//没有分号,main函数的返回值为struct sa
main()
{
}

6.if else

悬挂 else,if else的匹配错误

上一篇:hp_jetdirect 9100漏洞检测


下一篇:ROS多个master消息互通