【问题标题】:C code to detect if the compiler allows comments to nest用于检测编译器是否允许注释嵌套的 C 代码
【发布时间】:2011-08-27 13:48:43
【问题描述】:

这是我最近被问到的一个面试问题:

编写一个 C 程序,在编译和运行时打印出一条消息 指示编译它的编译器是否允许 /* */ cmets 筑巢

这个怎么办?

【问题讨论】:

  • 家庭作业?如果是这样,请将其标记为这样。你试过什么?
  • 我认为我目前的互联网连接有问题。所以问题在我想提交之前就已经提交了。
  • @amit: 我不知道怎么做这个?
  • int puts();int main(){puts("no");},即 C 编译器不允许 cmets 嵌套。
  • 也许更重要的是,我认为像这样的作业/练习有害,因为它们错误地认为 C 是一种未[der]指定的语言,其中编译器的编译方式可能会有所不同解析/编译程序,并导致新的 C 程序员跳过各种混淆循环以“可移植”到不存在和不存在的“C 编译器”。

标签: c


【解决方案1】:
int noNesting = 0 /* /* */ + 1 // */
;

【讨论】:

    【解决方案2】:
     int main(void)
     {
     int temp=0 /* /* */ + 1 // */
    ;
        //if nesting allowed temp value woud be 0 otherwise it would be 1
    if(temp)
    {
    printf("Nesting not allowed");
    }
    else
    {
    printf("Nesting allowed");
    }
    return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多