动机

当我是一个新人的时候,曾经有一次评论导致C语言的错误。
我认为这是一次难得的经历,所以我一边回忆一边写了一篇文章。

环境

我不太记得了。 . .

  • c 语言(版本未知)
  • gcc 编译器(版本未知)
    →可能是因为它不支持 shift-jis。

结论

关于评论的最后一个字符,
当被视为二进制代码时,
如果它与“\”相同,则注释后面的行也将是注释。

在下面的示例中,
“能”结尾的二进制代码变成与“\”相同的二进制代码,“能”后面的行也被解释为注释。
因此,输出结果将为 0。

测试.c
// 初期化
a=0;
b=0;

// aは100未満の値を入れることが可能
a=a+99;         //この行もコメントとして解釈される

print(a+b);     //ここでは0が出力される

措施

  • 避免有问题的字符
    →注意以与“\”相同的二进制代码结尾的字符
  • 用“/**/”注释
    → 如果设置“/* 可以大写*/”,结尾会是“*/”,可以避免这个错误。

在最后

这是几年前出现的现象,
它也可能不会发生在类似的环境中。
如果我能帮助在同样情况下遇到麻烦的人,我会很高兴。

如果您有任何问题,例如文字难以阅读,请随时发表评论?‍♀️


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308629286.html

相关文章:

  • 2021-11-04
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-06-08
  • 2021-11-25
  • 2022-01-06
猜你喜欢
  • 2021-07-29
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
  • 2021-10-25
  • 2021-08-11
  • 2021-06-28
相关资源
相似解决方案