为什么n-- >0的含义是n-- > 0而不是n- ->0 ?
首先我们来了解一下C语言编译器读取字符的顺序规则:每一个符号应该包含尽可能多的字符。也就是说,编译器将程序分解成符号的方法是,从左往右一个字符一个自负的读入,每读到一个字符就将前一个字符与当前字符组合,如果组合成新的字符,则前一个字符读取完成。否则继续读下一个字符,重复上述。
n–>0 读第二个“-”时,与前一个凑成一个一个符号“–”,接着连续读取两个符号 最重结果位n-- >0
同理 a+++++b 会读成 a++ ++ + b 由于第三个和第四个“+”组成的“++”没有左值,因此会编译报错。
为什么n-- >0的含义是n-- > 0而不是n- ->0 ?
最新推荐文章于 2022-04-21 19:22:53 发布