动机
当我是一个新人的时候,曾经有一次评论导致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