我一直在尝试使用C语言编写一些程序并且遇到这个......
#include<stdio.h>
int main()
{
int j = 3, k;
k= !5 && j;
printf("%d", k);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以弄清楚这是什么问题,如果我编译程序,我会得到0
当我在c#中尝试相同的代码
public void logic()
{
j = 5;
k = !4 && j;
Console.WriteLine("hence the value would be " + k);
}
Run Code Online (Sandbox Code Playgroud)
这将生成错误*(错误1运算符'!'不能应用于'int'类型的操作数C:\ Documents and Settings\SANDEEP\My Documents\Visual Studio 2005\Projects\ConsoleApplication18\ConsoleApplication18\Program.cs 21 17 ConsoleApplication18)
我想知道为什么我的c代码的输出不起作用,我怎么能使用!运营商在c#..... plz帮助....
我确定这个问题之前可能已经得到了解答,所以我道歉,但我找不到合适的搜索条件来找到答案.
鉴于以下代码示例,是否db.GetRecords().Any()
会执行?
string s = "Z";
bool x = s.IndexOfAny(new[] { 'A', 'B' }) > 0 &&
db.GetRecords().Any();
Run Code Online (Sandbox Code Playgroud) 我想在执行控制块之前确保所有3个条件都得到相同的答案:
#include <iostream>
#include <cstdlib>
int main(){
///BUT THIS DOES NOT WORK!
if ( (2 + 2) == (1 + 3) == (4 + 0) ){
std::cout << "not executed" << std::endl;
}
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
假设这些数字实际上是变量.这就是我要做的事情:
#include <iostream>
#include <cstdlib>
int main(){
int n1 = 2;
int n2 = 2;
int n3 = 1;
int n4 = 3;
int n5 = 4;
int n6 = 0;
int a = n1 + n2;
///this works
if ( (n3 + n4) …
Run Code Online (Sandbox Code Playgroud) 一个非常简单的问题,是否有一种情况,在javascript中使用原始数据类型是优选的,我特别困扰原始布尔值,请考虑以下代码
var bool = new Boolean(false);
if (bool){
alert(bool);
}
Run Code Online (Sandbox Code Playgroud)
它会,alert
但你会得到false
,这有点令人困惑(false
!= falsy).
那么使用原始数据类型尤其是原始布尔值是否有意义?
如何在javascript中执行干净的布尔添加?
1+1 = 0;
1+0 = 1;
1+1+1 = 1;
Run Code Online (Sandbox Code Playgroud)
一个人可以加一个布尔人吗?
true+true = false
false+true = true;
Run Code Online (Sandbox Code Playgroud)
等等
假设我有一个数组a [],如果我想改变a [i]的值并将其改为零,我可以通过使用temp变量来实现.
int temp = a[i];
a[i] = 0;
Run Code Online (Sandbox Code Playgroud)
但我遇到了类似的代码
int temp = a[i] | (a[i] = 0);
Run Code Online (Sandbox Code Playgroud)
我很难理解这一点.请解释它有效吗?使用类似类型的代码是一个好习惯吗?
假设我有下表:
id column_a column_b column_c
1 t f t
2 t f f
3 f t f
Run Code Online (Sandbox Code Playgroud)
从上表中,我要:
select rows from id = 1,2;
Run Code Online (Sandbox Code Playgroud)
结果应为:
column_a column_b column_c
t f t
Run Code Online (Sandbox Code Playgroud)
如果定义的ID中的任何行对特定列都为true,则我们假设结果为true。
以下findstr.exe
命令几乎可以实现我想要的功能,但并不完全:
findstr /s /i /c:"word1 word2 word3" *.abc
Run Code Online (Sandbox Code Playgroud)
我用过:
/s
用于搜索所有子文件夹./c:
使用指定的文本作为文字搜索字符串
/i
指定搜索不区分大小写.*.abc
abc类型的文件.上述验看word1 word2 word3
作为文字,因此只发现在的话,准确的顺序.
相比之下,我想所有的字匹配个别,在任何顺序(与逻辑,结合).
如果我/c:
从上面的命令中删除,那么返回匹配任何单词的行(OR逻辑,析取),这不是我想要的.
可以在PowerShell中完成吗?
Haskell新手在这里.我需要一些帮助来为全加器编写函数.我有以下内容:
xor :: Bool -> Bool -> Bool
xor True False = True
xor False True = True
xor _ _ = False
fulladder :: Bool -> Bool -> Bool ->(Bool, Bool)
fulladder a b c = c xor (a xor b) ++ (a&&b) || ((a xor b) && c)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
* Couldn't match expected type `(Bool -> Bool -> Bool)
-> Bool -> Bool'
with actual type `Bool'
* The function `a' is applied to two arguments,
but its …
Run Code Online (Sandbox Code Playgroud) 我看到这个非常有趣的推文:
抵制我的代码高尔夫本能
if(!bool1 && bool2)
变成if(bool1<bool2)
我之前从未见过,所以我想看看编译器是否也会使用这种优化.我开始使用自述文件和测试C程序进行回购:https://github.com/ndbroadbent/gcc_experiments
这是测试程序:
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
int main(int argc, const char* argv[]) {
if(argc != 3) {
printf("Usage: %s <a> <b>\n", argv[0]);
exit(1);
}
bool a = strtol(argv[1], NULL, 10) != 0;
bool b = strtol(argv[2], NULL, 10) != 0;
if (!a && b) {
printf("!a && b == true (a: %d, b: %d)\n", a, b);
} else {
printf("!a && b == false (a: %d, …
Run Code Online (Sandbox Code Playgroud) boolean-logic ×10
c ×3
c# ×2
javascript ×2
.net ×1
arrays ×1
boolean ×1
c++ ×1
expression ×1
findstr ×1
haskell ×1
java ×1
postgresql ×1
powershell ×1
primitive ×1
sql ×1
variables ×1