Note C/C++

C陷阱与缺陷,小记

Chapter 1

1、符号间的空白(空格符,制表符,换行符)将被忽略。

例:

	if(x>big) big=x;还可以写成:
	
	if
	(
	x
	>
	big
	)
	big
	=
	x
	;
    2、词汇分析中的“贪心法”
	编译器将程序分解成符号的方法是,从左到右一个字符一个字符的读入,如果字符可能组成一个字符,那么再读入下一个字符,以此类推。但是符号之间不能前有空白
	例1:
	a---b和 a -- - b含义相同,但是和a - --b含义不同。

	例2:
	y=x/*p		/*p指向除数*/;
这个例子表明y=x 之后的都是注释,可以更改如下:


	y=x/ *p		/*p指向除数*/; 这样仅在之间加了一个空格,破坏了贪心法的读取法则、或者更清楚的表达方式,y=x/(*p)


你可能感兴趣的:(Note C/C++)