【问题标题】:long type solution in C++C++ 中的长类型解决方案
【发布时间】:2023-01-09 15:05:24
【问题描述】:
#include <iostream>

using namespace std;

int main() {
    
    const int NSTRINGS = 5;
    
    string texts[NSTRINGS] = {"one", "two", "three", "four", "five"};
    
    string *pTexts = texts;
    
    pTexts += 3;
    
    cout << *pTexts << endl;
    
    pTexts -= 2;
    
    cout << *pTexts << endl;
    
    string *pEnd = &texts[NSTRINGS];
    pTexts = &texts[0];
    
    while(pTexts != pEnd) {
        cout << *pTexts << endl;
        pTexts++;
    }
    
    //Set pTexts back start.
    pTexts = &texts[0];
    
    long elements = (long)(pEnd = pTexts);
    
    cout << elements << endl;
    
    //Set pTexts back to start.
    pTexts = &texts[0];
    
    pTexts += NSTRINGS/2;
    cout << *pTexts << endl;
    
    return 0;
}

我该如何修复我的代码,它说 enter image description here 错误如图所示

enter image description here 我想要图像中的输出

【问题讨论】:

  • 请在您的问题中包含您的错误/警告作为文本。
  • 请不要分享images of code。它在几个方面降低了问题的用处。相反,编辑问题以包括纯文本错误是什么以及您实际希望此代码执行的操作。我不知道你想用 (long)(pEnd = pTexts) 发生什么,仅仅看到所需输出的图像并不能告诉我更多信息。
  • stackoverflow.com/help/how-to-ask .. 另外,不要使用图片链接 - 复制/粘贴相关文本(使搜索和提取更容易)。有问题的行 - pEnd = pTexts 的结果是什么?
  • 你可能还想解释为什么你想要的输出就是你想要的。这是什么逻辑?

标签: c++


【解决方案1】:

您可能是指long elements = (long)(pEnd - pTexts);(即减法运算符-,而不是=,这意味着赋值。

或者你可以做long elements = NSTRINGS;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多