以下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)
是什么原因 ?
可能重复:
代码有什么作用?
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代码吗?如果是这样,它想要实现什么,为什么有人会像上面这样做?
以下代码编译并运行完美,
#include <iostream>
class sam {
public:
void func1();
int func2();
};
int main() {
sam s;
}
Run Code Online (Sandbox Code Playgroud)
是否因缺少类成员定义而产生错误?
如果我在C/C++中意外编码,下面代码的行为和输出会是什么,
float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
Run Code Online (Sandbox Code Playgroud) 我想返回所有字符串的字符串排列。当我使用下面的代码时,我得到了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) 我如何替换文件中的字符串,使得要替换的字符串总是被某个字符串替换.
例如:如果我想用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但没有成功.
银行使用什么算法生成随机数,如(信用卡/借记卡号码)?
假设我维护DB中的所有数字,如果我尝试以下方法,
当卡量增加时,它将要求更多的数据库命中.
对此有何看法?请帮忙.