如何读入字符串中的空格
cin和scanf都是不认空格的,要想把空格也加进去,就要写为cin.getline(char buf[],int bufsize)
这样可以读入一行中bufsize长的字符串(包含\0),所以读入长度为bufsize-1c
第二种方法:gets(char buf[]);
也是读一行,可能导致数组越界
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[10];
int main(){
while(gets(a)){
cout<<a<<endl;
}
return 0;
}
字符串库函数都以\0来判断结尾
形参一般为字符串数组 char a[],实参为char数组或者字符串常量
如strcpy(字符串拷贝函数 strcmp(字符串比较函数 strlen(字符串长度(不包含\0),strcat(字符串拼接函数
再次注意:传数组是传引用的,所以假如实参改了形参也会跟着改的!
遍历字符串数组的方式
这种写法正确性上是没有问题的
但是每次循环都要求一遍strlen()函数,不如用一个变量承载
这种写法利用了字符串数组最后以\0结尾,\0就是0,s[i]就为0,false,跳出循环