c++ - C/C++ 中的嵌套注释

标签 c++ c comments

这是一道面试题:-

Write a C program which when compiled and run, prints out a message indicating whether the compiler that it is compiled with, allows /* */ comments to nest.

这个问题的解决方案如下:-

Sol:- 你可以有一个整数变量嵌套:

int nest = /*/*/0*/**/1;

如果它支持嵌套评论,则答案为 1,否则答案为 0。

这是如何工作的?我不明白变量声明。

最佳答案

如果编译器不允许嵌套,第一个 */ 将终止多行注释的打开,这意味着 0 不会被注释掉。写有一些空格:

int nest = /*/*/ 0 * /**/ 1;

导致代码

int nest = 0 * 1; // -> 0

如果它允许嵌套,它将是

int nest = /*/*/0*/**/ 1;

导致

int nest = 1;

关于c++ - C/C++ 中的嵌套注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698039/

相关文章:

c++ - 在文件描述符上设置 FD_CLOEXEC 与将其传递给 posix_spawn_file_actions_addclose 之间有区别吗?

c - Linux:从用户级进程以编程方式关闭或重新启动计算机

Java - 正则表达式查找代码中的注释

visual-studio - 有没有一种方法可以强制Visual Studio 2008(或更低版本)使用拼写检查器进行注释?

c++ - 从不同的线程访问外部变量是否必须使用互斥锁?

c++ - qdbusxml2cpp 未知类型

c++ - OpenMP 如何处理嵌套循环?

C++ 常量字符

c - 修改作为指针传递的缓冲区

flutter -//和///在flutter中有什么区别