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