-2

我开始探索 Ruby 的基础,它是 C,

printf('%%\\');

上面的代码在 C 中是否允许?

4

2 回答 2

2
#include <stdio.h>

int main(void) {
        printf('%%\\');
        return 0;
}

6行。请下次尝试。它会产生运行时错误。

所以不,这是不允许的。你真的要问这个吗?

如果您不想在本地进行/手头没有编译器/其他任何原因,我建议您使用 ideone 和 codepad 快速测试。

编辑:

看到另一个答案,我认为我应该注意到

#include <stdio.h>

int main(void) {
        printf("%d", '%%\\');
        return 0;
}

非常好,打印 2434396。我只是不想让你知道单引号是非法的。

于 2012-06-23T04:54:18.827 回答
0

不,不允许使用该代码。

在 Ruby 中,单引号用于编写字符串文字,即字符串类型的值。在 C'%%\\'中具有 int 类型。由于printf期望字符串 ( char*) 作为其第一个参数,'%%\\'因此不是 . 的有效第一个参数printf

于 2012-06-23T04:53:33.263 回答