小编jos*_*osh的帖子

打印数组元素

以下C程序的预期输出是打印数组元素.但是当实际运行时,它不会这样做.

#include<stdio.h>

#define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0]))

int array[] = {23,34,12,17,204,99,16};

int main()
{
    int d;

    for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
        printf("%d\n",array[d+1]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是什么原因 ?

c arrays

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

这是一个有效的C代码吗?

可能重复:
代码有什么作用?

void duff(register char *to, register char *from, register int count)
{
    register int n=(count+7)/8;
    switch(count%8)
    {
        case 0: do{ *to++ = *from++;
        case 7:  *to++ = *from++;
        case 6: *to++ = *from++;
        case 5: *to++ = *from++;
        case 4: *to++ = *from++;
        case 3: *to++ = *from++;
        case 2: *to++ = *from++;
        case 1: *to++ = *from++;
        }while( --n >0);
    }
}
Run Code Online (Sandbox Code Playgroud)

以上是有效的C代码吗?如果是这样,它想要实现什么,为什么有人会像上面这样做?

c c++ cpu-registers

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

是否没有必要定义类成员函数?

以下代码编译并运行完美,

#include <iostream>

class sam {
    public:
        void func1();
        int func2();
};

int main() {
    sam s;
}
Run Code Online (Sandbox Code Playgroud)

是否因缺少类成员定义而产生错误?

c++

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

以下代码片段的行为是什么?

如果我在C/C++中意外编码,下面代码的行为和输出会是什么,

float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
Run Code Online (Sandbox Code Playgroud)

c c++ floating-point pointers

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

嵌套流异常

我想返回所有字符串的字符串排列。当我使用下面的代码时,我得到了java.lang.IllegalStateException: stream has already been operated upon or closed。您能告诉我这种方法有什么问题吗?

public Stream<String> getMyPatterns(
        Stream<String> s1,
        Stream<String> s2,
        Stream<String> s3) {
    List<String> out = new ArrayList<String>();
    s1.collect(Collectors.toList()).forEach(item1 -> {
        s2.collect(Collectors.toList()).forEach(item2 -> {
            s3.collect(Collectors.toList()).forEach(item3 -> {
                out.add(item1 + "." + item2 + "." + item3);
            });
        });
    });
    return out.stream();
}
Run Code Online (Sandbox Code Playgroud)

样品测试

Stream<String> patterns = getMyPatterns(
            Stream.of("a1", "a2"),
            Stream.of("b1", "b2"),
            Stream.of("c1", "c2"));
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

在UNIX中搜索和替换

我如何替换文件中的字符串,使得要替换的字符串总是被某个字符串替换.

例如:如果我想用123替换ABC,如下所示,

INPUT

ABC
ABCXYZ
ABCDHD
ABC
CDE
Run Code Online (Sandbox Code Playgroud)

OUTPUT

ABC
123XYZ
123DHD
ABC
CDE
Run Code Online (Sandbox Code Playgroud)

我尝试使用sed但没有成功.

unix shell perl replace sed

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

随机数发生器算法

银行使用什么算法生成随机数,如(信用卡/借记卡号码)?

假设我维护DB中的所有数字,如果我尝试以下方法,

  1. 生成一个随机数.
  2. 验证是否已分配号码.
  3. 如果是,请转到第1步.
  4. 如果没有在DB中为新数字创建记录并输出结果.

当卡量增加时,它将要求更多的数据库命中.

对此有何看法?请帮忙.

random algorithm numbers probability prng

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