gpt4 book ai didi

c++ - 两个单词的长度相加产生错误答案(string0.length() + string1.length())

转载 作者:太空狗 更新时间:2023-10-29 20:34:50 29 4
gpt4 key购买 nike

#include <iostream>

using std::cout;
using std::cin;
using std::string;

int main(){
cout << "Welcome to the program!";
cout << "\nWhat is your name? ";
string name;
cin >> name;
cout << "Hi, " << name << ". ";
cout << "Your name has " << name.length() << " letters!";
cout << "\nWhat is your last name? ";
string lastname;
string *plastname;
cin >> lastname;
plastname = &lastname;
cout << "Your full name is " << name.append(*plastname) << ".";
cout << " Your full name has " << name.length() + lastname.length() << " letters!";
return 0;
}

这是结果:

  • 欢迎来到这个项目!
  • 你叫什么名字?广告
  • 你好,adk。你的名字有 3 个字母!
  • 你姓什么?适应
  • 你的全名是 adkadkl。你的全名有 11 个字母!

3 + 4 = 11 怎么算?!

最佳答案

首先你执行 name.append(*plastname) ,它实际上将 lastname 附加到 name 中,使 name长度为 7 的字符串(使用您的示例输入)。

然后你打印 name.length() + lastname.length() 等于 7 + 4(记住你之前做的追加!),导致11 的结果。

也许附加 namelastname,您应该分别打印它们?喜欢

cout << "Your full name is " << name << ' ' << lastname << ".\n";

关于c++ - 两个单词的长度相加产生错误答案(string0.length() + string1.length()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46115213/

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