小编Ant*_*t's的帖子

这是什么样的宏?

我遇到了以下代码:

#include<stdio.h>
#define d(x) x(#x[3])
int main(){
d(putchar);
}
Run Code Online (Sandbox Code Playgroud)

哪个打印c输出.我想知道宏有什么#define d(x) x(#x[3])作用?在C语言中有运营商#吗?我可以在宏体内看到这个,即这里x(#x[3]).根据我的正常眼睛,它看起来与我在C语言中看到的不同,但实际上这是做什么的?

编辑:#在现实世界中真正使用的是什么?

我是C的新手,如果解释简单,那将会很好.提前致谢.

c c++

16
推荐指数
1
解决办法
378
查看次数

是否有任何预先构建的方法可以在JavaScript中查找给定字符串的所有排列?

我是JavaScript世界的新手.正如标题所提到的,我想知道JavaScript中是否有任何预先构建的方法来查找给定字符串的所有可能的排列.

例如,给定输入:

the
Run Code Online (Sandbox Code Playgroud)

期望的输出:

the
teh
eht
eth
het
hte
Run Code Online (Sandbox Code Playgroud)

javascript

15
推荐指数
3
解决办法
8862
查看次数

使用n [c-'0']的真正用途是什么?

我是C的新手,我遇到了这样的代码:

int n[10];
if(c>='0' && c<='9')
++n[c-'0']
Run Code Online (Sandbox Code Playgroud)

if循环中为什么我们必须使用单引号0,使用它,为什么我们不能立即定义0为整数?在第二行代码中++n[c-'0'],使用像这样的数组是什么意思,为什么我们需要在数组索引中减去0(再次为什么在这个上下文中使用单引号?)c

如果我喜欢这样n[c-'0'],index operation(c-'0')的结果将是一个字符或整数?

鉴于任何人都可以说我,这个阵列的实际用途是什么,有什么缺点呢?

提前致谢.

c c++ arrays

13
推荐指数
3
解决办法
6023
查看次数

如何在Java中迭代向量并仅存储指定的类?

我有一个用例,我需要迭代Vector元素并将结果存储在say数组中,只要该实例是类method

这有什么容易的吗?

目前我这样做:

    Iterator itr = vec.iterator();
    Iterator element = vec.iterator();

    while(itr.hasNext())
    {
        boolean method = itr.next() instanceof Method;
        if(method)
            System.out.println( "\t" + ( (Method)(element.next()) ).name);
        else
            element.next();
    }
Run Code Online (Sandbox Code Playgroud)

但我认为会有比这更好的方法.

java iterator

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

为什么Grails服务类是Singleton?

我才知道Grails服务类是Singleton类型.出于什么原因,服务类被定义为Singleton?

提前致谢.

grails

10
推荐指数
1
解决办法
4060
查看次数

Groovy中的任何方法如何工作?

我遇到了这段代码:

n = args[0] as Long
[*n..1, n].any{ println ' '*it + '*'*(n - ~n - it*2) }
Run Code Online (Sandbox Code Playgroud)

它用于打印树形结构.像这样:

    *
   ***
  *****
 *******
    *
Run Code Online (Sandbox Code Playgroud)

(for n= 4)

  1. 代码是如何[*n..1,n]产生的[4, 3, 2, 1, 4]

  2. any方法如何在这里工作?该文件没有帮助我很多.什么是预测可以传递给any(如Doc的提到)?

any在这种情况下使用什么以及如何处理它?

groovy jvm-languages

9
推荐指数
1
解决办法
8215
查看次数

为什么这个C程序编译没有错误?

我是C的初学者,我正在玩C.我输入了这样的C代码:

#include <stdio.h>
int main()
{
    printf("hello world\n"); 
    \
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

即使我\故意使用,C编译器也不会抛出任何错误.C语言中使用的符号是什么?

编辑:

即便如此:

"\n";
Run Code Online (Sandbox Code Playgroud)

c

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

为什么函数原型被反复链接?

我是JavaScript的新手.我正在阅读JavaScript的好部分.它说 :

每个函数对象也使用prototype属性创建

所以我做了这样的事情:

function test() {
}

console.log(test.prototype);
Run Code Online (Sandbox Code Playgroud)

使用Chrome的开发人员工具,我发现输出如下:

在此输入图像描述

我真的很担心这个输出.为什么constructorprototype财产又嵌套constructor?为什么这会像链条那样继续?我在哪里错过这个概念?

提前致谢.

javascript

9
推荐指数
1
解决办法
704
查看次数

为什么C编译器没有检查枚举?

以下文字摘自C语言创作者编写的C编程语言第2版(所以我认为它是正确的):

虽然可以声明枚举类型的变量,但编译器不需要检查存储在这样的变量中的是枚举的有效值.

我有些疑惑:

  1. 对于C语言中的哪些情况,编译器检查的值是enum什么?
  2. enum由于某种原因,不检查常量.为什么不?原因是什么?
  3. 既然enum未经编译器检查,是否使用enum容易出错?请解释.

c compiler-construction enums

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

在groovy中使用".@"有什么用?

.@在groovy中有什么用?任何人都可以用代码片段解释我吗?

groovy

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