Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++字符数组的添加 所以我最近开始学习C++,看了很多教程,发现了一个棘手的问题。我想输入一个最大数字n,然后输入存储在字符数组中的两个数字。然后我想把它们传递到我的add函数中去做简单的加法。但它总是会回信。我知道这和字符ASCII有关,但除了使用字符串,还有什么方法可以实现这一点吗 #include <iostream> using namespace std; void add(char m1[], char m2[], int n); int main() { int n = 0; cin >> n; const char CAPACITY = 100; char m1[CAPACITY] = {0}; char m2[CAPACITY] = {0}; for(int i = 0; i < n; i++) { cin >> m1[i]; } for(int i = 0; i < n; i++) { cin >> m2[i]; } add(m1, m2, n); } void add(char m1[], char m2[], int n) { char sum[100] = {0}; for(int i = 0; i < n; i++) { sum[i] = m1[i] + m2[i]; } for(int i = 0; i < n; i++) cout << sum[i]; }_C++ - Fatal编程技术网

C++字符数组的添加 所以我最近开始学习C++,看了很多教程,发现了一个棘手的问题。我想输入一个最大数字n,然后输入存储在字符数组中的两个数字。然后我想把它们传递到我的add函数中去做简单的加法。但它总是会回信。我知道这和字符ASCII有关,但除了使用字符串,还有什么方法可以实现这一点吗 #include <iostream> using namespace std; void add(char m1[], char m2[], int n); int main() { int n = 0; cin >> n; const char CAPACITY = 100; char m1[CAPACITY] = {0}; char m2[CAPACITY] = {0}; for(int i = 0; i < n; i++) { cin >> m1[i]; } for(int i = 0; i < n; i++) { cin >> m2[i]; } add(m1, m2, n); } void add(char m1[], char m2[], int n) { char sum[100] = {0}; for(int i = 0; i < n; i++) { sum[i] = m1[i] + m2[i]; } for(int i = 0; i < n; i++) cout << sum[i]; }

C++字符数组的添加 所以我最近开始学习C++,看了很多教程,发现了一个棘手的问题。我想输入一个最大数字n,然后输入存储在字符数组中的两个数字。然后我想把它们传递到我的add函数中去做简单的加法。但它总是会回信。我知道这和字符ASCII有关,但除了使用字符串,还有什么方法可以实现这一点吗 #include <iostream> using namespace std; void add(char m1[], char m2[], int n); int main() { int n = 0; cin >> n; const char CAPACITY = 100; char m1[CAPACITY] = {0}; char m2[CAPACITY] = {0}; for(int i = 0; i < n; i++) { cin >> m1[i]; } for(int i = 0; i < n; i++) { cin >> m2[i]; } add(m1, m2, n); } void add(char m1[], char m2[], int n) { char sum[100] = {0}; for(int i = 0; i < n; i++) { sum[i] = m1[i] + m2[i]; } for(int i = 0; i < n; i++) cout << sum[i]; },c++,C++,了解“3”和“3”之间的区别很重要。第一个是一个字符,一个符号。第二个是由一个数字组成的数字。在C++中,对于初学者来说,很难而且令人困惑的是,字符有时可以表现为数字。它们可以隐式转换为整数,并且允许对它们进行求和等操作,尽管添加两个符号没有任何意义。当字符充当数字时,其数值为字符表示代码。即,作为字符编码方案的一部分,每个字符都有与其关联的代码或编号。字符最常用的字符编码方案是ASCII 执行“3”+“0”时,实际上是在添加字符代码。如果查看ASCII表,您将看到“3”的代码是51,“0”的代

了解“3”和“3”之间的区别很重要。第一个是一个字符,一个符号。第二个是由一个数字组成的数字。在C++中,对于初学者来说,很难而且令人困惑的是,字符有时可以表现为数字。它们可以隐式转换为整数,并且允许对它们进行求和等操作,尽管添加两个符号没有任何意义。当字符充当数字时,其数值为字符表示代码。即,作为字符编码方案的一部分,每个字符都有与其关联的代码或编号。字符最常用的字符编码方案是ASCII

执行“3”+“0”时,实际上是在添加字符代码。如果查看ASCII表,您将看到“3”的代码是51,“0”的代码是48,因此结果是99。由于在“3”+“0”中发生隐式隐藏转换,结果99的类型为int,而不是char

更正式地说,“3”+“0”相当于:

static_cast<int>('3') + static_cast<int>('0')

注意。吹坏。

为什么要使用字符?你认为这个总数意味着什么?“a”+“b”应该是什么?“z”+“e”应该是什么?A + + A应该是什么?同样,作为一个侧重点,但非常重要的是,你不是在学习C++。你正在学习伪装成C++的C。这不是C++应该看起来的样子。在C++中,使用标准容器,如STD::String和STD::vector。@ Bulov,不使用STD::vector存储字符序列。这称为std::string。谢谢你的评论,因为上面的代码不是c++的,我只是想看看字符数组是如何工作的。例如,如果我输入4作为元素n的最大数量,那么例如,输入3000表示m1,输入1000表示m2。想要找到这两个独立数组的总和。@Jason请找一本关于该语言的好书!
int a, b;
std::cin >> a >> b;
int sum = a + b;
std::cout << sum << std::endl;