关于字符串的几种输入方法!
1). 当已知所输入字符的个数时;
可用for循环语句和scanf函数来实现
例子 如下:
#include<iostream>
using namespace std;
int main()
{
char a[10];//假设已知输入10个字符
int i;
for(i=0;i<10;i++)
scanf("%c",&a[i]);
getchar();
for(i=0;i<10;i++)
printf("%c",a[i]);
cout<<endl;
return 0;
}
2).当无法确定所输入字符的个数时:
可利用gets()函数或者cin.getchar()函数分别实现
其中gets()函数的例子如下:
#include<iostream>
using namespace std;
int main()
{
char a[1000];
int i;
gets(a);
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
cout<<endl;
return 0;
}
getchar()函数的例子如下:
#include<iostream>
using namespace std;
int main()
{
char a[1000];
int i;
cin.getline(a,100);//a是数组名,100是最多输入字符的个数
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
cout<<endl;
return 0;
}
此外例子中的 { for(i=0;a[i]!='\0';i++)
printf("%c",a[i]); }这两条语句均可用puts(a)和printf("%s".a)来代替
puts()代替例子如下:
#include<iostream>
using namespace std;
int main()
{
char a[1000];
gets(a);
puts(a);//注意puts()函数本身就会在输出结束后自动增加换行!!
return 0;
}
printf("%s",a)代替的例子如下:
#include<iostream>
using namespace std;
int main()
{
char a[1000];
gets(a);
printf("%s",a);
cout<<endl;
return 0;
}