小编Ale*_*anu的帖子

asm("nop")怎么样; 作品?

我从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)

c assembly

14
推荐指数
5
解决办法
5万
查看次数

确定一个月内的天数

我收到,,作为输入,我试图以有效的方式验证输入.该的范围是[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)

c

6
推荐指数
1
解决办法
810
查看次数

你能在汇编中添加预处理器指令吗?

我想基于头文件中的定义执行一些汇编指令.

比方说,在test.h我有#define DEBUG.

test.asm我想以某种方式查询喜欢#ifdef DEBUG做些什么?

这样的事可能吗?我无法在类似的问题或网上找到有用的东西.

c assembly c-preprocessor

2
推荐指数
2
解决办法
3277
查看次数

java stack NullPointerException

我有一个类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)

java null stack nullpointerexception

0
推荐指数
1
解决办法
619
查看次数

计算表达式

我有:

#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:

  1. 鉴于声明:

static int i,t [10];

并假设i和t都没有显式初始化,表达式的值 (i==0) && (t[i]<0)

(a)是1

(b)是0

(c)取决于具体情况

c++ expression

0
推荐指数
1
解决办法
84
查看次数