说明:strlen函数返回的是字符串的长度,并不包括字符串结束符,在获得字符串长度上必须加1以便在动态分配是预留结束符的存储空间。
数组的元素个数 n=sizeof(a)/sizeof(a[0]);
c语言中:
1 用scanf进行输入
int main( )
{char a[100];
scanf("%s",&a);//用scanf进行输入,在输入时遇到空格' ',就会认为输入结束。
printf("%s\n",a);
return 0;
}
2 用gets进行输入
int main( )
{char a[100];
gets(a);//与scanf不用的是,用gets进行输入时,遇到空格符不会结束,知道遇到回车符结束。a可以为字符串数组名也可以为字符串指针
puts(a);
return 0;
}
c++中
1 用cin>>
#include <iostream>
using namespace std;
int main() {
char str1[10], str2[10];
cin>>str1;
cin>>str2; //在输入的过程中,只要出现空格符,tab键,enter键,输入就结束;
cout<<str1<<endl;
cout<<str2<<endl;
return 0;}
2 cin.get(数组名,长度,结束符)
结束符可选的,默认的结束符是enter键,长度也可以指定。
输入字符的情况:char ch=cin.get( )和cin.get(char ch) 等价,用于读取字符。不丢弃缓存区里的enter
输入字符串的情况:
char a[20];
cin.get(a,5,'d') 自定义结束符时不丢弃enter.
3 cin,getline(数组名,长度,结束符 )
说明:cin.get( )和cin.getline( ),很多方面都是一样的,区别在于:cin.get( )当输入的字符串超长时,不会引起cin的错误,后面的cin函数会继续执行,直接从缓存区里读取数据。cin.getline( )当输入的字符串超长时,会引起cin的错误,后面的cin函数就不会继续执