if(!a)
f() ……;
是逻辑判断语句,如果括号内逻辑值为真,则继续执行下一条语句,否则不执行
计算机默认以“0”代表逻辑假,以“非0值”代表逻辑真
上述程序的意思就是不断从键盘向a赋值,直到赋给a的值为一个非0数 若a非0,则逻辑值为真,
“!”表示取反,!a的逻辑值就为假,不执行下一条语句;
从逻辑值的角度考虑: if(a)等价于if(a!=0)
if(!a)等价于if(a==0) if(!a) 等价于 if(a == FALSE)
C语言中的非零即真,也就是a除非等于0 即a==0时为假以外,无论a等于什么都等价于 a==1。
那么!a真好相反,只有当a==0时为真,其他的无论a等于什么都是假
if(a) {
} //a==0时 , 跳过语句
//每次从键盘 输入的值a!=0,无论a等于什么,都执行
if(!a) {
} //!a !=0 a=true 跳过语句
// a==0 执行
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步