加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C中,在控件结构中使用时会导致赋值作为true或false进行评估?

发布时间:2020-12-16 03:00:57 所属栏目:百科 来源:网络整理
导读:所以有人可以帮助我掌握一些任务(或者大部分相关的)情况,例如if(…)或while(…)等等? 我的意思是: if(a = b) 要么 while(a = c){} 等等… 什么时候评价为真,什么时候评价为假?根据作业中使用的类型,这是否会发生变化?当涉及到指针的时候呢? 谢谢. 解决
所以有人可以帮助我掌握一些任务(或者大部分相关的)情况,例如if(…)或while(…)等等?

我的意思是:

if(a = b)

要么

while(a = &c)
{
}

等等…

什么时候评价为真,什么时候评价为假?根据作业中使用的类型,这是否会发生变化?当涉及到指针的时候呢?

谢谢.

解决方法

在C中,归因评估为归因的值:
int c = 5; // evaluates to 5,as you can see if you print it out
float pi = CalculatePi(); // evaluates to the result
                          // of the call to the CalculatePi function

所以,你的声明:

if (a = b) { }
while (a = &c) { }

大致相当于:

a = b
if (b) { }
a = &c
while (&c) { }

与…相同

a = b
if (a) { }
a = &c
while (a) { }

那么如果(a)等不是布尔人呢?那么,如果它们是整数,则0是假的,其余的是真的.这个(一个“零”值 – > false,其余的 – > true)通常成立,但是你应该真的引用一个C引用来确定(不过请注意,写入if(a == 0)不是更多比(!a)困难,对读者来说要简单得多).

无论如何,您应始终避免遮挡您的代码的副作用.

你应该永远不需要做(a = b):你可以用更清楚的其他方式来完成同样的事情,而不是看起来像一个错误(如果我读一个代码,如(a = b)我想到的第一件事是写作的发展者犯了一个错误;第二,如果我仔细检查一下是正确的,那就是我讨厌他!:-)

祝你好运

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读