c++简单的字符串问题
# include <string>
# include <iostream>
using namespace std;
int main()
{
string a,b,c,d;
cout<<"请输入三个字符串\n";
cin>>a>>b>>c;
if(b>c)
{
d = b; b = a; a = d;
}
if (a<b)
cout<<a<<" "<<b<<" "<<c;
else
{
d = a; a = b; b =d;
cout<<a<<" "<<b<<" "<<c;}
return 0;
}
请问各位高手们,这个是领字符串在小到大输出的代码。小弟想问字符串比较大小具体是怎么比较啊?求解!
[解决办法]
字符串的比较是逐个相应字符进行比较(比较他们的ASCII码),直到有两个字符不相等为止,ASCII码大的字母所在字符串就大,与字符串长度无关。对两个相等长度的字符串,若每个字符都比较完毕后仍相等,则两字符串相等;对不等长的字符串,若当短的字符串比较完毕时所有字符仍相等,则长度较长的字符串大!
[解决办法]
是按字符串的每个字母的ASCII码值比较。 比如: ab<cd 因为a的ASCII码值小于c的ASCII码值 一下就能判定ab<cd,如果首个字母相同,那就比较后面的字母,依次类推。