Gets()以回车作为结束但是会读入回车,即回车也会当做有效的字符。
String s;
Cin>>s以回车或空格作为结束。但是不会读入回车或空格。
如果char*ss=”dsafjha”;
Ss[0]=’3’;
编译没有问题。 程序会发生运行时错误。因为改变了常量的值。
常量不能赋值给别名。
字符串常量有点特殊。它可以赋值给指针。从这点看它应该是有地址的。但是它不能赋值给别名。
String.c_str()只能赋值给常量指针。
Scanf(“%c/n”,……)在读入的时候,要求读完一个字符后必须输入一个回车。但是输入回车后,scanf不会结束。只有再输入一个非回车且非空格的字符,它才结束。所以,在最后一行输入时千万不要如此使用scanf。
Cin可以读入字符数组。而且遇到回车或空格即表示数组结束。且回车和空格不存入数组。
如果一开始读入回车或空格,则cin会自动跳过。
传递二维数组,形参应为
类型名 (*数组名)[数组的列数]
如字符数组a[3][4],要传递给一个函数。
则函数的形参应为 函数名( char (*p)[4] )
int *p[3]——p为一个二维变长数组,有3行。
int (*p)[3]——p为一个二维等长数组,有3列。