我从http://en.wikipedia.org/wiki/NOP中删除了这个定义,但我仍然需要一个更简单的定义.
我偶然发现了一个代码,我不确切知道它的作用:
switch (Something)
{
case this_one:
asm ("nop");
break;
case other_one:
asm ("nop");
break;
default:
asm ("nop");
break;
}
Run Code Online (Sandbox Code Playgroud) 我收到年,月,日作为输入,我试图以有效的方式验证输入.该年的范围是[0-99](0,4,8 ..被认为是闰年),月范围[1-12]和天范围[1-31].
验证当天的直接方式如下:
if( (Day<1u) || (Day>31u) ){
/*error*/
}
else if ( (Month==4u) || (Month==6u) || (Month==9u) || (Month==11u) && (Day>30u) ){
/*error*/
}
else if ( (Month==2u) && (Year % 4u == 0u) && (Day > 29u) ){
/*error*/
}
else if ( (Month==2u) && (Year % 4u != 0u) && (Day > 28u) ){
/*error*/
}
else
{
/*valid*/
}
Run Code Online (Sandbox Code Playgroud)
但它具有很高的复杂性.
查找表似乎是一个更好的选择.现在的问题是:
除了以下内容之外,是否有更有效的方法为此案例创建表格?
const int …Run Code Online (Sandbox Code Playgroud) 我想基于头文件中的定义执行一些汇编指令.
比方说,在test.h我有#define DEBUG.
在test.asm我想以某种方式查询喜欢#ifdef DEBUG做些什么?
这样的事可能吗?我无法在类似的问题或网上找到有用的东西.
我有一个类Floor有一个Stack块,我不知道如何初始化它.我试过这样的:
public class Floor {
private Stack<Block> stack;
private static int size;
public void setStack(Stack<Block> stack) {
this.stack = stack;
}
public void addBlock(Block b){
stack.push(b);
}
}
public class InputDevice {
Block a0=new Block('I',false);
Floor [] floor=new Floor[5];
Stack<Block> stack=new Stack<Block>();
floor[0].setStack(stack);
floor[0].addBlock(a0);
}
Run Code Online (Sandbox Code Playgroud) 我有:
#include <iostream>
int main()
{
static int i, arr[10];
cout<<(i==0) && (arr[i]<0);
}
Run Code Online (Sandbox Code Playgroud)
这意味着两个i和所有元素都会t自动初始化0.为什么这个表达式(i==0) && (t[i]<0)返回true?即使这样也会返回:
#include <iostream>
int main()
{
static int i;
cout<<(i==0) && (i==1);
}
Run Code Online (Sandbox Code Playgroud)
当我重新提出这个问题时,我感到很困惑,这个问题应该是正确答案a:
static int i,t [10];
并假设i和t都没有显式初始化,表达式的值
(i==0) && (t[i]<0)
(a)是1
(b)是0
(c)取决于具体情况