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

前端之家收集整理的这篇文章主要介绍了在C中,在控件结构中使用时会导致赋值作为true或false进行评估?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以有人可以帮助我掌握一些任务(或者大部分相关的)情况,例如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)我想到的第一件事是写作的发展者犯了一个错误;第二,如果我仔细检查一下是正确的,那就是我讨厌他!:-)

祝你好运

猜你在找的C&C++相关文章