1、在使用scanf("%s",XXX);
读取数据的时候,scanf是以读入空白为分界线,也就是说scanf是不能读入空格的。这时候我们可以用gets()
来读入空格或者getchar()
来接收空格。
2、在输出的时候,使用puts()
来输出二维数组中的一维,注意puts
会自动输出一个换行符。
3、在字符数组的尾部会有空字符\0
,使用gets()
或scanf("%s",)
读入字符串时,会自动添加在输入的字符串尾部,并占用一个字符位,而puts()
和printf("%s")
就是通过识别末尾的空字符\0
来完成输出的。
4、strcpy(str1,str2)
的作用是把str2
拷贝给str1
,这里的拷贝包括空字符\0
,注意这里指的是覆盖,而非拼接,拼接使用的函数是strcat(str1,str2)
。
5、sscanf(str,"%",x)
和sprintf(str,"%",x)
分别表示从字符串读取和向字符串输出,sscanf()
还支持正则表达式。
6、函数将数组作为参数时,可以省略数组的第一维度,例如二维数组只需要写第二维的长度就可以了。
7、指针变量采用type* 变量名
来进行标识,但是给指针赋值的时候用的并不是*变量名
,就只需要单纯的变量名即可。
8、由于C语言函数大部分是值传递,想要修改原来值必须使用指针作为参数,我们可以使用C++语法中的&
来对参数值直接进行修改。
9、scanf读取到空格回车时,并不会将其读入,而是会把空白留在输入中。
10、C++结构体
struct Node
{
//默认无参的构造函数
Node(){}
//有参构造函数
Node(int _a,int _b):a(_a),b(_b){}
int a;
int b;
}
这样可以快速初始化结构体。