作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 while 循环,它总是在其中一种情况为真时结束,而不是仅在两种情况都为真时结束。有谁知道为什么?
while (f != NULL && t!= NULL)
{
if ( f == NULL && t!= NULL)
{
cout << t->start_byte << " - "<< left<< setw(20) << t-> end_byte << t->id << endl;
t=t->next;
}
else if (t == NULL && f != NULL)
{
cout << f->start_byte << " - "<< left<< setw(21) << f-> end_byte << "FREE" << endl;
f=f->next;
}
else
{
cout << f->start_byte << " - "<< left<< setw(21) << f-> end_byte << "FREE" << endl;
cout << t->start_byte << " - "<< left<< setw(21) << t-> end_byte << t->id << endl;
cout<< " IM IN THE BOTH " << endl;
t=t->next;
f=f->next;
}
}
输出如下,请记住,在这个特定示例中,循环底部应该多一个 FREE 输出,因为我的 f 链表有 3 个节点,而我的 t 链表有 2 个节点
Memory Block Job
0 - 99 FREE
100 - 129 3
IM IN THE BOTH
130 - 149 FREE
150 - 179 2
IM IN THE BOTH
最佳答案
while (f != NULL && t!= NULL)
只有当 f
和 t
都为非 NULL 时才会计算为真。
从循环内的代码来看,您希望它在任一变量为非 NULL 时运行。您需要使用逻辑或 ||
代替:
while (f != NULL || t!= NULL)
关于c++ - 如果其中一个为真,则 && 循环结束,而不是如果两个都为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21722273/
这个问题在这里已经有了答案: What is the 'instanceof' operator used for in Java? (18 个答案) 关闭 5 年前。 抱歉,我发帖时出错了。在这种
Matlab 有以下检查输入的函数: isscalar确定输入是否为标量 isvector判断输入是否为向量 ismatrix判断输入是否为矩阵 对于 A = 1(或任何“标量”输入)所有 以上返回
关于 islower() 和 isupper() 的下面两行在 Mike Banahan 的 C 书的同一段落中给出了 (Link: Section 9.3) : islower(int c) Tru
我们都知道 javascript 在测试相等性时会进行古怪的转换,但到底发生了什么? > [0] == 0 true > 0 == [[0]] true > [0] == [[0]] false 是的
我是一名优秀的程序员,十分优秀!