gpt4 book ai didi

c - 下面的变量声明会导致词法错误还是语法错误?

转载 作者:太空狗 更新时间:2023-10-29 17:16:05 24 4
gpt4 key购买 nike

如果我像这样声明变量

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; 从下一行的第一个位置开始。

关于c - 下面的变量声明会导致词法错误还是语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34118903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com