【问题标题】:C++ ? Why the value does not change ? [closed]C++?为什么值不变? [关闭]
【发布时间】:2014-06-30 08:45:28
【问题描述】:

我刚刚学会了如何使用这个操作符:->, 我正在尝试创建练习程序,以便我能记住并熟悉它。 我创建了一个程序,输入我的健康状况,然后使用 -> 运算符治愈我的(添加健康状况)。 但是当我运行程序时,我的生命值保持在 50(因为我将当前的生命值设置为 50)。

这是我的代码:

#include <iostream>

using namespace std;

struct myhealth
{
    unsigned short my_health;
};

void addhealth(myhealth* addhealth)
{
    addhealth->my_health += 50;
};

int main()
{
    myhealth player;
    player.my_health = 50;

    cout << "My earlier health : " << player.my_health << endl;

    myhealth();

    cout << "My current health : " << player.my_health;

    cin.get()
    return 0;
}

【问题讨论】:

  • 您是否尝试过在调试器中单步执行程序?
  • myhealth() 应该是 addhealth(&player);
  • 你为什么不阅读你的 main() 故事。根据您的故事进行程序输出。
  • 我现在很惭愧,这是一个错字。对不起

标签: c++ linked-list


【解决方案1】:

您永远不会调用addhealth,因此该值永远不会被修改。

这行代码:

myhealth();

似乎写错了。相反,我认为你的意思是写:

addhealth(&player);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多