33.【C/C++ char 类型与Ascii大整合,少一个没考虑你打我】(二)

简介: 33.【C/C++ char 类型与Ascii大整合,少一个没考虑你打我】

2.字符串指针必须初始化,数组不用

2.1代码展示:
#include <iostream>
using namespace std;
int main()
{
 char* s; //字符串指针变量
 s = "hello"; //把字符串赋值给字符串指针,编译器会给字符串一个地址;
 cout<<"字符串的地址:"<<&s<<endl; //表示变量本身所在的内存单元地址
 cout<<"字符串的地址:"<<s<<endl; //表示s的单元所保存的地址
 cout<<"字符串指针的值为:"<<s[1]<<endl; //这里会输出字符串的首个元素,而不是整个字符串
 cout<<"字符串指针分配的单元:"<<sizeof(s)<<endl; //用来保存地址的
 return 0;
}
2.2效果展示:

3.两个char*判断相等不相等(==)

3.1.代码展示:
#include <iostream>
using namespace std;
int main()
{
 const char* s = "abc";
 const char* s1 = "abc";
 if (s == s1)
 {
  cout << "相等" << endl;
 }
 else
  cout << "不相等" << endl;
 return 0;
}
3.2.效果展示:

4.两个string 可以用==

4.1代码展示:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
 string s = "abc";
 string s1 = "abc";
 if (s==s1)
 {
  cout << "相等" << endl;
 }
 else
  cout << "不相等" << endl;
 return 0;
}
4.2效果展示:

5.一个char*与string可以用==

5.1代码展示:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
 string s = "abc";
 const char* s1 = "abc";
 if (s==s1)
 {
  cout << "相等" << endl;
 }
 else
  cout << "不相等" << endl;
 return 0;
}
5.2效果展示:

4.两个char*也可以用strcmp

4.1代码展示:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
 const char* s = "abc";
 const char* s1 = "abc";
 if (strcmp(s ,s1)==0)
 {
  cout << "相等" << endl;
 }
 else
  cout << "不相等" << endl;
 return 0;
}
4.2效果展示:

5.一个char*与一个string不可以用strcmp

5.1代码展示:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
 string s = "abc";
 const char* s1 = "abc";
 if (strcmp(s ,s1)==0)
 {
  cout << "相等" << endl;
 }
 else
  cout << "不相等" << endl;
 return 0;
}
5.2效果展示:

6.字符串的结束以分号为单位:

#include <iostream>
using namespace std;
void main()
{
 char s1[]="ABC"
  "DEF";
//********error********
 char s2[]="ABC\
DEF";
//********error********
 char s3[]="ABC" 
  "DEF";
 cout<<s1<<endl;
 cout<<s2<<endl;
 cout<<s3<<endl;
 return;
}
————————————————
版权声明:本文为CSDN博主「吉士先生.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_69683957/article/details/125842311

(五)、ASCii码的应用

1.什么是ASCii码

ASCII (American Standard Code for Information Interchange):美国信息交换标准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准 ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。

2.Ascii表的排序规则:

大小规则

常见ASCII码的大小规则:数字< 大写字母 < 小写字母

1.数字比字母要小。如 “7”<“F”;

2.数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;

3.字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;

4.同个字母的大写字母比小写字母要小32。如“A”<“a” 。

几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48

相关文章
|
4月前
|
存储 算法 安全
c++模板进阶操作——非类型模板参数、模板的特化以及模板的分离编译
在 C++ 中,仿函数(Functor)是指重载了函数调用运算符()的对象。仿函数可以像普通函数一样被调用,但它们实际上是对象,可以携带状态并具有更多功能。与普通函数相比,仿函数具有更强的灵活性和可扩展性。仿函数通常通过定义一个包含operator()的类来实现。public:// 重载函数调用运算符Add add;// 创建 Add 类的对象// 使用仿函数return 0;
126 0
|
7月前
|
存储 SQL 关系型数据库
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为&#39;0&#39;或&#39;1&#39;,查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
|
8月前
|
存储 SQL 关系型数据库
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
392 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
12月前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
存储 编译器 程序员
C++类型参数化
【10月更文挑战第1天】在 C++ 中,模板是实现类型参数化的主要工具,用于编写能处理多种数据类型的代码。模板分为函数模板和类模板。函数模板以 `template` 关键字定义,允许使用任意类型参数 `T`,并在调用时自动推导具体类型。类模板则定义泛型类,如动态数组,可在实例化时指定具体类型。模板还支持特化,为特定类型提供定制实现。模板在编译时实例化,需放置在头文件中以确保编译器可见。
127 11
|
存储 自然语言处理 编译器
C语言中的char类型
C语言中的char类型
2031 1
|
安全 程序员 C语言
C++(四)类型强转
本文详细介绍了C++中的四种类型强制转换:`static_cast`、`reinterpret_cast`、`const_cast`和`dynamic_cast`。每种转换都有其特定用途和适用场景,如`static_cast`用于相关类型间的显式转换,`reinterpret_cast`用于低层内存布局操作,`const_cast`用于添加或移除`const`限定符,而`dynamic_cast`则用于运行时的类型检查和转换。通过具体示例展示了如何正确使用这四种转换操作符,帮助开发者更好地理解和掌握C++中的类型转换机制。
|
C++
使用 QML 类型系统注册 C++ 类型
使用 QML 类型系统注册 C++ 类型
442 0
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
200 0

热门文章

最新文章