C++中,字符串⽐较函数strcmp()的⽤法(⽤相关例题说明)
先看⼀个例题:
编写⼀个程序,它使⽤char数组和循环来每次从键盘读取⼀个单词,直到⽤户输⼊done为⽌。随后该程序指出⽤户输⼊了多少个单词。
#include<iostream>
#include<cstring>
int main(){
using namespace std;
const int size =20;
char ch[size];
int i =0;
cout<<"Enter words(to stop with word done)"<<endl;
字符串比较函数实现cin>>ch;
while(strcmp(ch,"done"))
/*字符串之间的⽐较, 相同返回0. 左<;右,返回负数。cmp是compare的缩写*/
{
i++;
cin>>ch;}
cout<<"You entered a total of "<<i<<" words."<<endl;
}
下⾯是⽤string类完成上述例题的代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
int i =0;
cout<<"Enter words (to stop,with word done)"<<endl;
cin>>str;
while(str !="done")//注意和上⾯的区别
{
cin>>str;
i++;
}
cout<<"You entered a total of "<<i<<" words."<<endl;
return0;
}
⽅式⼀中,如果⽤“!=”来⽐较ch和“done”。提⽰如下错误:
ISO C++ forbids comparison between pointer and integer [-fpermissive]。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论