C语言随笔(宏 注释 词法)

准备C语言进阶,看了一些关于C语言的书籍,今天是C陷阱与缺陷(阿里巴巴 腾讯实习生笔试都没过。抓狂)

1.C语言词法分析中的大嘴法。

每一个符号应该包含尽可能多的字符。也就是说,编译器将程序分解成符号的方法是,从左到右一个字符一个字符的读入,如果该字符可能祖曾一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断,知道读入的字符组成的字符串已经不再可能组成一个有意义的符号。

a---b等同于 a-- - b       

        y  = x /* p出错,本来想除以指针p所指向的数值,结果被注释掉了。改成 y = x /  *p就可以了。

还有一个例子,在经典书籍C陷阱与缺陷中是一道课后题。

原题如下:某些C编译器语序嵌套注释。请写一个测试程序,要求:无论是对允许嵌套注释的编译器,还是对不允许嵌套注释的编译器,该程序都能正常通过编译)—无错误消息出现),但是这两种情况下执行程序的结果却不相同。

          很明显在程序中要写出代码,体现嵌套与非嵌套的区别。

/*/*"*/"*/1   如果是嵌套注释,则输出结

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值