1)今天才注意到if,else if 的一个妙处
if(a<2500)
{
....
}
else if(a<6500)
{
....
}
else if(a<10000)
{
....
}
其实并不需要把else if写成(2500<=a<6500),第一个if没有执行,不就说明了a大于2500嘛!
另外,再次注意悬空else的问题:else子句属于离它最近且没有和其他else配对的if语句。
2)如果想在C89里使用布尔类型,可以借助宏:
#define TRUE 1
#define FALSE 0
//判断flag的真假
if(flag)
if(!flag)
C99中_BOOL的布尔型和包含bool类型的头文件<stdbool.h>,文件里也有true和false的宏。
3)switch语句使用注意:
1. 只选一个执行,一定记得要break。即使是最后一个分支语句,加上break也可以防止以后再要加上其他分支时忘记。
2. 配上一个default,可以让程序更完整,以应对未知的情况。
3. 多个分支,同一结果,可以放在同一行。
case 1 : case2 :
4)一元数组
1. 声明以及初始化:
int arr[10];//声明,十个元素
int arr[10] = {1,2,3,4,5,6,7,8,9,0};//初始化
int arr[] = {1,2,3,4,5,6,7,8,9,0};//或者自动判断长度
int arr[15] = {[10] = 1,2};//利用指示器定义下表为10的是1,其后一个为2