在调试我的代码时,我注意到发生了一些奇怪的事情,所以我添加了更多行并且更加困惑:
#include <iostream>
#include <memory>
struct Node
{
size_t size = 0;
};
class MallocMetadata {
public:
size_t size; /** Effective allocation - requested size **/
bool is_free;
MallocMetadata *next;
MallocMetadata *prev;
MallocMetadata *next_free;
MallocMetadata *prev_free;
};
int main()
{
size_t size = 0;
auto node = std::make_shared<Node>();
int tmp_res=node->size - size - sizeof(MallocMetadata);
bool test=(node->size - size - sizeof(MallocMetadata)) < 128;
bool test1=tmp_res<128;
std::cout << tmp_res << "\n";
std::cout << test << "\n";
std::cout << test1 << "\n";
} …Run Code Online (Sandbox Code Playgroud) 我想比较四个整数,看看它们是否相等。于是写了下面的,
int a = 1, b = 2, c = 3, d = 4;
if (a != b != c != d)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
这显然没有显示错误。但是,事实上,给出了错误的答案。有人可以解释一下吗?
为什么这个 C# 代码不起作用?我想不明白。
我正在努力寻找一个简单的 C# 代码示例,该示例可以将 console.readline() 中的字符串值“y”和“n”转换/解析为布尔 true 或 false 语句,并将其保存为布尔数据类型。
using System;
public class Demo
{
public static void Main()
{
Console.WriteLine("Input y");
string answer = Console.ReadLine();
if (answer == "y")
{
bool InputY = bool.Parse(answer);
Console.WriteLine("You have saved a 'True' statement in the boolean with name of 'InputY'");
}
else
{
Console.WriteLine("Any random text");
}
}
}
Run Code Online (Sandbox Code Playgroud) 如果:
x = 0
b = x==0
Run Code Online (Sandbox Code Playgroud)
我打印它会打印'真'
但如果我做了:
x = 0
b = x == 3
我印的是假的.而不是它打印假如何我将采用布尔值'b'来打印我想要的文本?
让我进一步解释一下:
bool = all(n > 0 for n in list)
if bool != 'True':
print 'a value is not greater than zero'
Run Code Online (Sandbox Code Playgroud)
但它什么都不打印?
我需要编写一个涉及以下内容的Java程序:
提示用户输入以下信息并将输入存储在适当的变量中:
用户是否是左撇子
用户的父亲是否至少5英尺10英寸高
用户的月龄
使用JOptionPane.showMessageDialog()或System.out.println()输出以下内容打印出以下信息:
a)用户是否是左撇子
b)用户的父亲是否至少5英尺10英寸高
c)a和b中的至少一个值是否为真(如果其中一个或两个都为真,则为真)
d)a和b是否都为真(假如至少有一个是假的,则为假)
e)a和b的真值是否相同(如果a和b都为真,或者a和b都为假,则为真)
我是编程新手,不知道从哪里开始.
有没有办法在字符串值中进行比较可以返回Boolean值.例.如果(5> 5000)显然会返回假值.但我想做的是让"5> 5000"返回假值.
例.
string com = "5 > 10";
Run Code Online (Sandbox Code Playgroud)
那么有没有办法让这个com变量返回一个false值,好像它是整数之间的比较.
我的教科书中有一个问题:
编写一个方法倍数,它将两个整数作为参数,如果第一个整数可以被第二个整数均分,则返回true(即,除法后没有余数); 否则,该方法应返回false.将此方法合并到一个应用程序中,使用户可以输入值来测试方法.
我写了这段代码,但它不起作用:
public class project1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a, b;
System.out.println("enter the first number");
a = input.nextInt();
System.out.println("enter the first number");
b = input.nextInt();
}
public static boolean multiple(int g, int c) {
int g, c;
if (g % c = 0) {
return true;
} else {
return false;
};
}
}
Run Code Online (Sandbox Code Playgroud) 我需要知道,因为我发现整个事情令人困惑.我现在在大学代数课,虽然一些布尔代数似乎很基本(交换性,联想属性等,即基本代数).我正在阅读汇编编程的艺术,但后来我点击布尔代数章节并感到沮丧.虽然我不知道什么是运算符,但作者使用了我认为对他的运算符来说是"任意"的符号.我习惯了C++!,&&和|| 分别为NOT,AND和OR运算的运算符.电子书中有错字和其他东西使得阅读起来更加困难.
关键是,该章绝对有必要学习吗?是否有任何初学者x64汇编编程书籍?这台电脑配有AMD 64位处理器.我从头开始阅读编程,但是它用于linux.我可以遵循那个,因为它更容易阅读,但我试图编译一个例子,它不起作用.即使更改代码使其与Windows兼容,也没有骰子.
我是疯了还是什么的,或者我需要更多的睡眠...可以留下第二眼吗?
boolean slotTypeMatch = false;
System.out.println("waiType: " + waiType);
if (waiType.equals("W")){
} else if(waiType.equals("A")){
itemFilename = MyServer.armorMap.get(waiId).getFilename();
System.out.println("endContainerSlot: " + endContainerSlot + ", getSlot: " + MyServer.weaponMap.get(waiId).getSlot());
if (endContainerSlot == MyServer.armorMap.get(waiId).getSlot()){
System.out.println("WHY DONT I MAKE IT HERE!!!!");
slotTypeMatch = true;
}
}
System.out.println("itemFilename: " + itemFilename);
System.out.println("slotTypeMatch: " + slotTypeMatch);
if (slotTypeMatch){
//not making it here, I must be going insane
Run Code Online (Sandbox Code Playgroud)
这是我的控制台输出......我无法想象我的生活......
waiType: A
endContainerSlot: 1, getSlot: 1
itemFilename: images/armor/armor_tunic.png
slotTypeMatch: false
Run Code Online (Sandbox Code Playgroud)
编辑它们都是int
int endContainerSlot - com.jayavon.game.server.MyCommandHandler.run()
int com.jayavon.game.actualgame.Armor.getSlot()
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚原因:
f = lambda x: x
In [8]: f is True
Out[8]: False
In [9]: not f is True
Out[9]: True
In [10]: f is False
Out[10]: False
In [11]: f is True
Out[11]: False
In [12]: not f
Out[12]: False
In [13]: not f is True
Out[13]: True
In [14]: not f is False
Out[14]: True
Run Code Online (Sandbox Code Playgroud)
好.所以直到现在我们可以想象这是由于使用"是"而不是"==".如下图所示:
In [15]: 0.00000 is 0
Out[15]: False
In [16]: 0.00000 == 0
Out[16]: True
Run Code Online (Sandbox Code Playgroud)
好.但是为什么然后如果我在功能上这样做:
In [17]: not f == False
Out[17]: …Run Code Online (Sandbox Code Playgroud) boolean ×10
java ×3
c# ×2
c++ ×2
python ×2
algebra ×1
assembly ×1
comparison ×1
debugging ×1
if-statement ×1
inequality ×1
methods ×1
parsing ×1
string ×1
syntax ×1