我开始探索Ruby的基础,它是C,
printf('%%\\');
上面的代码是否允许在C?
答案 0 :(得分:2)
#include <stdio.h>
int main(void) {
printf('%%\\');
return 0;
}
6行。请下次再试一次。 它会产生运行时错误。
所以不,这是不允许的。你真的要问这个吗?
如果您不想在本地进行操作/没有手头的编译器/其他原因,我建议使用ideone和codepad快速测试。
编辑:
看到另一个答案,我想我应该注意到
#include <stdio.h>
int main(void) {
printf("%d", '%%\\');
return 0;
}
非常好,打印2434396。 我只是不希望你知道单引号是非法的。
答案 1 :(得分:0)
不,代码是不允许的。
在Ruby中,单引号用于编写字符串文字,即字符串类型的值。在C '%%\\'
中,类型为int。由于printf
期望字符串(char*
)作为其第一个参数,'%%\\'
不是printf
的有效第一个参数。