问题标签 [logical-and]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

c - AND 运算符的求值顺序是否保证从左到右?

我正在研究 K&R “The C Programming Language”第 2 版书,在第 29 页的第 1.9 章字符数组中,有一个示例程序可以在阅读一组行后打印出最长的行。在程序中getline()提供了一个示例函数,该函数中有一个 for 循环,用于读取字符并检查其有效性,如果有效则将其添加到字符数组中。for 循环给出为

(c = getchar()) != EOF我的问题是:之前评估了哪些保证c != '\n'

在我之前对 C 的了解中,关联性的顺序与评估的顺序不同,并且 C 标准没有指定评估的顺序。如果是这样,如果c != '\n'之前评估过会发生什么(c = getchar()) != EOF?它应该用前一个字符而不是当前读取的字符来检查换行符,因为getchar()操作是在检查换行符之后完成的,对吧?

快速谷歌搜索表明这种代码是常见的,所以我怀疑如果我自己尝试它会起作用。该书还声称所有示例程序都是工作程序。

什么保证了(c = getchar()) != EOF之前的评价c != '\n'

0 投票
5 回答
151 浏览

c++ - 虽然循环没有中断??C++

我正在尝试用 C++ 构建一个简单的骰子游戏。我不明白为什么它没有脱离 while 循环。

您应该只能下注 100、300 或 500 欧元。

即使我输入我的赌注“100-300-500”,这应该是正确的。它仍然循环并说这是一个无效的赌注。为什么当我有它时它没有进展到 if 语句if ((bet1 == 100) || (bet1 ==300) || (bet1==500))

我尝试将 if 语句放在 while 循环和各种事情之前。我无法让它工作。

0 投票
3 回答
59 浏览

c - 这个操作是什么意思

所以我们在测试中得到了这段代码,我对它的含义和工作原理一无所知。 unsigned int a = 1, b = 2, c; 进而c = a&b || a&&b;

问题是: 的价值是多少c。答案是 1。

有人可以解释初始化中发生了c什么吗?

0 投票
1 回答
26 浏览

c - 错误字符的错误,即使字符是正确的

我有一个关于矩阵运算的作业,我无法弄清楚我的代码有什么问题,这使得我的程序说 char 是错误的,即使它是正确的。请你帮助我好吗?谢谢你。

在此处输入图像描述

0 投票
3 回答
51 浏览

c++ - 如果数字不在两个值之间,为什么它会显示总和?

如果数字小于或等于 1 或 1000,我希望它不显示总和的结果。我不知道 usingif是否是最好的方法,但这就是我尝试使用的方法,我真的不明白为什么它不起作用。||我也尝试用and编写条件&&,但那些也不起作用。

0 投票
3 回答
81 浏览

c - 为什么用 C 中的 && 对值和条件进行位移后表达式为真

看看这个例子:

如果我将 c 向左移动两次,我应该从 0100 0000 (64) 到这个 0001 0000 0000 (256)。所以我的 8 位字符c只有零。最后,我想知道为什么表达式(c << 2 && 512)为真 (1) 而不是假 (0),因为我的 c 只有零。

0 投票
1 回答
188 浏览

c++ - 计算两个__m256i变量的元素之间的logical_and(&&)的最快方法是什么,寻找任何一对非零元素

据我所知,C++ 中的整数可以被视为布尔值,我们可以有这样的代码:

现在,假设我们有:

我需要对 __m256i 中的所有 4 个长变量应用logical_and (&&),如果一对非零则返回true。我的意思是:

为此,我们在 AVX 或 AVX2 中有快速代码吗?

我找不到任何用于此目的的直接指令,而且绝对地,使用按位和 (&) 也不相同。任何帮助将不胜感激。