int main()
{
char c = 'a';
char d = 'b';
printf("%d\n", c);
int n = 110;
printf("%c\n",(char)n);
int x = c - n;
printf("%d\n", x);
printf("%d", c * d);
return 0;
}
字符数组
int main()
{
char a1[] = {'C', '+', '+'}; // 列表初始化,没有空字符
char a2[] = {'C', '+', '+', '\0'}; // 列表初始化,含有显示的空字符
char a3[] = "C++"; // 自动添加表示字符串结尾的空字符
// char a4[6] = "Daniel"; // 错误:没有空间可以存放空字符
return 0;
}
字符数组的输入输出
int main()
{
char str[100];
// scanf("%s", str);
fgets(str, 100, stdin);
printf("%s", str);
}
字符串
字符串赋值
using namespace std;//string库在std名字空间中
int main()
{
string s1; // 默认初始化,s1是一个空字符串
string s2 = s1; // s2是s1的副本,注意s2只是与s1的值相同,并不指向同一段地址
string s3 = "hiya"; // s3是该字符串字面值的副本
string s4(10, 'c'); // s4的内容是 "cccccccccc"
return 0;
}
字符串读写
using namespace std;
int main()
{
string s1, s2;
getline(cin, s1);
getline(cin, s2);
// scanf("%s%s",s1.c_str(), s2.c_str());
// printf("%s\n%s", s1.c_str(), s2.c_str());
// cin >> s1 >> s2;
cout << s1 << '\n' << s2;
return 0;
}
处理string对象中的字符
using namespace std;
int main()
{
string s = "hello world";
for (int i = 0; i < s.size(); i ++ )
cout << s[i] << endl;
return 0;
}
for each语句
using namespace std;
int main()
{
string s = "hello world";
for (char c: s) printf("%c", c);
puts("");
for (char& c: s) c = 'a';
printf("%s", s.c_str());
return 0;
}
字符串比较
支持 >, <, >=, <=, ==, !=等所有比较操作,按字典序进行比较。
using namespace std;
int main()
{
string s1 = "abc";
stirng s2 = "adc";
if(s1 > s2) printf("YES");
else printf("NO");
}
字符串相加
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1 = "abc";
string s2 = "bdf";
string s3 = s1 + s2;
string s4 = s1 + "," + "bdf";
// string s5 = "abc" + "," + s2;//错误
printf("%s", s4.c_str());
return 0;
}