C++中为什么if(a)与if(a!=0)等价?
C++中为什么if(a)与if(a!=0)等价?我主要是不明白a与a!=0的关系,为什么它们相等?...
C++中为什么if(a)与if(a!=0)等价?
我主要是不明白a与a!=0的关系,为什么它们相等? 展开
我主要是不明白a与a!=0的关系,为什么它们相等? 展开
7个回答
展开全部
C 语言中认为,“非”“零”就是“一”:“非”对应“0”,“是”对应“非0的任何值”
所以,就非常明确
if(a!=0): --- A如果非0,即 如果A存在;
if(a) --- 把A看成是一个判断条
“是”或者“非”
那么就是“非0"或者"0"
也就是"a!=0"或者"a==0"了
所以,就非常明确
if(a!=0): --- A如果非0,即 如果A存在;
if(a) --- 把A看成是一个判断条
“是”或者“非”
那么就是“非0"或者"0"
也就是"a!=0"或者"a==0"了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是有C++编译器决定的,对于if(a)在编译时会查看a的值,如果a的值为零,就为假,a的值只要不为零,就为真,故写成if(a)与if(a!=0)等价,a可以为字符型,整型等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C++中 true=1 false=0
if(condition)语句中condition 是一个bool的,if(a)如果a==0相当于if(false),如果a!=0相当于if(!false)
if(condition)语句中condition 是一个bool的,if(a)如果a==0相当于if(false),如果a!=0相当于if(!false)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题不难,首先你要明白非零为真,零为假,这个应该知道吧?如果a等于零,两个条件等价,即都不成立,反之也是,仍然等价,都成立
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询