最近在研究<C语言的陷阱与缺陷>,其中说的好有道理!大家都来看下呀!
例:"悬挂"else引发的问题
if(x==0)
if(y==0)error();
else{
z=x+y;
f(&z);
}
这段代码本意是判x的0和1值执行两种动作,x=0和y=0同时成立才调用error()程序;但这段代码和编者的本意相去太远了,else总和最近的if配对,程序就变成了另一种表达了!
if(x==0)
{
if(y==0)error();
else{
z=x+y;
f(&z);}
}
很有意思!这样的失误我想以后记忆会很深刻
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |