C++ 有人能一步一步地向我解释一下这段代码中发生了什么吗+;

C++ 有人能一步一步地向我解释一下这段代码中发生了什么吗+;,c++,C++,我是说只有主要功能。我不理解int(c)当(不是代码的一部分)c是char时。它是如何工作的 #include <iostream> using namespace std; int main() { char c; cout << "Enter a character: "; cin >> c; cout << "ASCII Value of " << c << "

我是说只有主要功能。我不理解int(c)当(不是代码的一部分)c是char时。它是如何工作的

#include <iostream>
using namespace std;

int main()
{
 char c;
 cout << "Enter a character: ";
 cin >> c;
 cout << "ASCII Value of " << c << " is " << int(c);
 return 0;
}
#包括
使用名称空间std;
int main()
{
字符c;
cout>c;
cout有一个表(ASCII表),它存储从int到char的映射(这是char的表示方式)。char的ASCII值实际上是该表中该char的int键。将char强制转换为int-
int(c)
-可以得到该int键(c的ASCII值)

有人能一步一步地向我解释这段代码中发生了什么吗++

是的,你首先需要读一本书

你可以阅读一些C++标准,也许是更新的,特别是关于Cascript表达式的5.4。 也可以查看一下网站。关于。出于可读性的原因,有些人更喜欢

重新解释cast(c)
而不是
(int)c

还可以阅读C编译器的文档,例如,您希望以
g++-Wall-Wextra-g
的形式调用它

您还可以运行
g++-Wall-Wextra-O-fverbose asm-your code.cc
并查看汇编代码
your code.s
。如果您将
(int)c
替换为
重新解释(c)

一旦编译器没有给出警告,使用调试器,例如,了解程序的行为

您的cast
(int)c
显示一个整数(例如
65
)。如果没有它,它将显示一个字符(例如
a
-对于相同的值
c
-在您的计算机中
(char)65
-在所有矿井中,无论是在工作场所,还是作为副总裁租用的,在我的口袋里——我的手机里,还是在家里——都是字面上的“A”,除非你的计算机不使用ASCII-或其超集UTF8-。今天这很少见:很少有计算机使用EBCDIC)

调试器将为您提供相同的信息,以及逐步运行代码的能力。因此,学习使用GDB将为您赢得大量工作

请注意,在2021年,如果您想接受µ或§或é或°之类的输入,事情会更复杂。在我的AZERTY键盘上,我可以用一次按键来输入。而且,
也可以轻松键入……这些字符不是

也可以使用(或,在Spring 2021中),或者也许一些C++变体,或者称为FrAM-CLAN。这个项目也可能是有用的。 理论上,

A
可能不会被编码为65。20世纪70年代,我在穿孔卡片上编程,当时的编码是EBCDIC。今天,你需要进入计算机博物馆,找到那些没有将
A
字符编码为65位十进制数或十六进制0x41的计算机。
一些计算机仍然使用EBCDIC,但我本世纪从未遇到过这样的计算机。< /P>请打开关于转换和类型转换的章节或章节。使用char的编码将字符转换为整数,然后输出整数。关于“代码> ASCII 的位是一个bug,C++不需要使用ASCI。I.这是一个有很多链接的通用答案。根本没有回答这个问题。我提到了具体的计划和实际的价值。刚刚看到。它淹没在这么多不相关和垃圾链接中(很抱歉,你在很多答案中不断提到你的工具)这不是真的有用。那5张否决票肯定有意义。加上这是一个超级重复,你投票结束了,你有20万以上的代表,所以回答这样的问题可能不是真的必要问这个问题是不必要的。我没有问!