|
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;
}
这样可以快速初始化结构体。
|