在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)我想到的第一件事是写作的发展者犯了一个错误;第二,如果我仔细检查一下是正确的,那就是我讨厌他!:-) 祝你好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |