这种程序的写法,可读性实在太差,且随不同的编译系统(C语言系统)而有不同的结果。所以,一般不建议深究此类问题。
在有的C编译系统中,上面两段程序的结果是不一样的:
在前一段中,(y--)后y的值马上就减了1,然后再作后面的计算;
而后一段则是全部算完后,y再减1。
其实在这里,括号的加与不加是完全一样的。若把y--移到后面,分号是必须要加的,否则不能通过编译。
y--其实就等于在下一条语句中y=y-1。他是C语言中的自减符号相对应的还有:y++ ++y,--y。