下面的变量声明是否会导致词法错误或语法错误?

下面的变量声明是否会导致词法错误或语法错误?,第1张

概述如果我声明变量就好 int a/*comment*/ ; //This does not give any error .int a/*comment*/bc; This gives error 现在我没有得到这背后的原因,据我说,当符号/被读取后第一次读取字符a时,它会切换到DFA的其他状态以识别其他一些模式,因此没有错误在读取注释后的第二种情况下,它会找到一些不属于正式模式的其他序列,因此它 如果我声明变量就好
int a/*comment*/ ; //This does not give any error .int a/*comment*/bc; This gives error

现在我没有得到这背后的原因,据我说,当符号/被读取后第一次读取字符a时,它会切换到DFA的其他状态以识别其他一些模式,因此没有错误在读取注释后的第二种情况下,它会找到一些不属于正式模式的其他序列,因此它会在有限自动机的某些非最终状态中停止,因为它会产生错误.

请清除这种困惑.

解决方法 根据C标准(5.1.1.2翻译阶段)
3. ...Each comment is replaced by one space character.

这样就行了

int a/*comment*/bc;

翻译阶段后相当于

int a bc;

但你可以写:)

int a\bc;

但是,bc;从下一行的第一个位置开始.

总结

以上是内存溢出为你收集整理的下面的变量声明是否会导致词法错误或语法错误?全部内容,希望文章能够帮你解决下面的变量声明是否会导致词法错误或语法错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1235372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存