C语言菜鸟编程笔记
1.scanf()后使用gets()函数注意事项
在gets函数前面加一条语句 fflush(stdin);就OK了,因为scanf函数输入时,它不读取换行符,所以在stdin中会把换行符留在里面,因此到了gets的时候就不用输入读取完这个换行符就结束了
2.浮点数计算二三事
(1)注意计算结果里-0.0转化为0.0
加判断语句if(fabs(x)<0.05)
这里不等式右边的值是根据你的精度得出的,我这里是要求保留一位小数,所以是0.05.
3.字符指针数组注意事项
例如:char *idNum[MAX]:只是个字符指针的数组,你需要用手动申请内存等方法让数组里每一个指针都指向合法的内存区域才能够在后面用gets接收多个字符串;
char *idNum[n];
for(int i=0;i<n;i++)
{
idNum[i] = (char*)malloc(NUM+1);
}
Remark:调用malloc()函数动态分配内存后,在使用完成后必须及时调用free函数释放,所以一般伴随着:
for(int i=0;i<n;i++)
{
free(idNum[i]);
}