C++中的Char定义的数组和String的字符串有什么区别啊?
4个回答
推荐于2018-03-22
展开全部
明确一下:
你说的Char是c++的内置类型char么
你说的String是标准库中定义的类么
如果是的话,它两的区别有:
char数组仅仅是存储字符串用的,c库中有一系列操作字符串的函数
String是类,它包含一个可变长度的char数组,封装了常用的字符串操作函数
它们之间可以转化
你说的Char是c++的内置类型char么
你说的String是标准库中定义的类么
如果是的话,它两的区别有:
char数组仅仅是存储字符串用的,c库中有一系列操作字符串的函数
String是类,它包含一个可变长度的char数组,封装了常用的字符串操作函数
它们之间可以转化
2013-08-18
展开全部
对于char数组:
#include <iostream>
int main()
{
using namespace std;
char a[20];
char b[20];
cin.getline(a,20);
cin.getline(b,20);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
if(strcmp(a,b)==0)
cout<<"a等于b"<<endl;
else if (strcmp(a,b)>0)
cout<<"a大于b"<<endl;
else
cout<<"a小于b"<<endl;
return 0;
}
运行结果:
www
qqq
a=www
b=qqq
a大于b
Press any key to continue
对于string对象:
#include <iostream>
#include <string>
int main()
{
using namespace std;
string a;
string b;
getline(cin,a);
getline(cin,b);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
if(a==b)
cout<<"a等于b"<<endl;
else if (a>b)
cout<<"a大于b"<<endl;
else
cout<<"a小于b"<<endl;
return 0;
}
运行结果:
www
qqq
a=www
b=qqq
a大于b
Press any key to continue
二者的区别在于:在char数组中 输入www回车,输入qqq回车 即可完成输入,程序执行
在string对象中 输入www回车,输入qqq回车,还要再输入一个回车才能完成输入
回车传送数据到程序中,getline替换回车为'\0' ,写字符串
难道不是这样吗?
为什么后者还要多输入一次回车呢??
#include <iostream>
int main()
{
using namespace std;
char a[20];
char b[20];
cin.getline(a,20);
cin.getline(b,20);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
if(strcmp(a,b)==0)
cout<<"a等于b"<<endl;
else if (strcmp(a,b)>0)
cout<<"a大于b"<<endl;
else
cout<<"a小于b"<<endl;
return 0;
}
运行结果:
www
qqq
a=www
b=qqq
a大于b
Press any key to continue
对于string对象:
#include <iostream>
#include <string>
int main()
{
using namespace std;
string a;
string b;
getline(cin,a);
getline(cin,b);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
if(a==b)
cout<<"a等于b"<<endl;
else if (a>b)
cout<<"a大于b"<<endl;
else
cout<<"a小于b"<<endl;
return 0;
}
运行结果:
www
qqq
a=www
b=qqq
a大于b
Press any key to continue
二者的区别在于:在char数组中 输入www回车,输入qqq回车 即可完成输入,程序执行
在string对象中 输入www回车,输入qqq回车,还要再输入一个回车才能完成输入
回车传送数据到程序中,getline替换回车为'\0' ,写字符串
难道不是这样吗?
为什么后者还要多输入一次回车呢??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-10-31
展开全部
你问的数组问题的话。不知道我的解释你感觉怎么样。
在数据结构的课程里。
char型的数组是这样的:
char[0] = 'a' char[1] = 'b'
而
String[0] = "asdasdasd" String[1] = "asdasdasd"
这样的解释应该有助于你的理解
在数据结构的课程里。
char型的数组是这样的:
char[0] = 'a' char[1] = 'b'
而
String[0] = "asdasdasd" String[1] = "asdasdasd"
这样的解释应该有助于你的理解
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-18
展开全部
一个是 's'
一个是 "s"
就这点区别
一个是 "s"
就这点区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询