gpt4 book ai didi

c++ - 为什么我的字符串无法在 C++ 中正确打印?

转载 作者:太空宇宙 更新时间:2023-11-04 15:45:59 29 4
gpt4 key购买 nike

我有一个简单的程序如下:

#include <iostream>

using namespace std;

int main()
{
int N;
cout << "Enter N: " << endl;
cin >> N;
int acc = 0;

cin >> acc;
int min = acc;
int max = acc;


for (int i=1; i<N; i++) {
int current;
cin >> current;
acc += current;
if (current > max) {
max = current;
} else if (current < min) {
min = current;
}
}

cout << "Total: " + acc << endl;
cout << "Max: " + max << endl;
cout << "Min: " + min << endl;
return 0;
}

我的输出被截断如下

./stat
Enter N:
3
1
2
3

:
in:

我做错了什么?

最佳答案

在 C++ 中,运算符 +在字符串和数字上的行为与您对高级语言的预期不同。

“总计:”例如是一个字符数组,如果a[10]是你的数组,a + 5是从 a[5] 开始的数组切片.这被称为 pointer arithmetic .

"Total: "在内存中表示为 'T' 'o' 't' 'a' 'l' ':' ' ' 0,所以 "Total : "+ 4 是 'l' ':' ' ' 0.

关于c++ - 为什么我的字符串无法在 C++ 中正确打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507414/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com