时间来不及,就先记录一些之前不知道的小点,只能希望在之后能补充。
1、预处理可以理解为源代码的替换。
例如一段程序:
#include<stdio.h>
#defined MAX 10
int main()
{
...
}
这样一段程序,#include会在预处理时将stdio.h中的内容替换到源代码中。同样,在预处理时也会把代码中MAX替换为10.
2、当使用gets函数进行输入时,该函数会丢弃换行符,并在该行末尾存储一个NULL的字节。(gets,getchar,fget...的使用)
3、scanf函数的返回值是函数成功转换并存储于参数的值的个数。
在该函数中,使用所有格式码(除%c外)时,输入值之前的空白(空格、制表符、换行符等)会被跳过,值后面再输入的空白符表示该值的结束。所以用%s格式码输入字符串时,中间不能包含空白。
4、对于int ch = getchar();中getchar返回值是char,而不是int型,这样处理是否合理的问题:
答:字符也可以理解成小整形数,所以用一个整形变量容纳字符值并不会引起任何问题。
5、在函数的参数中声明变量为const有两个方面的作用:
一、它声明该函数的作者意图是这个参数不能被修改;
二、它导致编译器会去验证是否违背该意图。
6、需要对strcpy,strncpy,strcat,strchr,strstr进一步了解。
7、使用#include指令可以避免重复声明。