1. 主页
  2. 文档
  3. C语言教程
  4. C语言数据类型
  5. C 和 C++ 中的字符运算

C 和 C++ 中的字符运算

众所周知,字符范围在 -128 到 127 或 0 到 255 之间。在进行字符运算时必须牢记这一点。为了更好地理解,让我们举个例子。

// C program to demonstrate character arithmetic.
#include <stdio.h>

int main()
{
char ch1 = 125, ch2 = 10;
ch1 = ch1 + ch2;
printf("%d\n", ch1);
printf("%c\n", ch1 - ch2 - 4);
return 0;
}

输出: 

-121
y

所以 %d 说明符导致打印一个整数值,而 %c 说明符导致打印一个字符值。但必须注意,在使用 %c 说明符时,整数值不应超过 127。
到目前为止一切都 很好。
但对于 c++,它的表现有点不同。

查看此示例以更好地理解。 

// A C++ program to demonstrate character
// arithmetic in C++.
#include <bits/stdc++.h>
using namespace std;

int main()
{
char ch = 65;
cout << ch << endl;
cout << ch + 0 << endl;
cout << char(ch + 32) << endl;
return 0;
}

输出:

A
65
a

打印没有“+”运算符字符值。但是当与 ‘+’ 运算符一起使用时,它的行为会有所不同。使用 ‘+’ 运算符会隐式地将其类型转换为 ‘int’。因此,总而言之,在字符算术中,将 char 变量类型转换为 ‘char’ 是显式的,而对于 ‘int’ 是隐式的。 

 

这篇文章对您有用吗?