在函数中显示地址

问题描述

我正在完成一项学校作业,但我不知道如何完成 C 部分。

这是作业(除了 C 部分我什么都有):

A.创建一个名为 charIncrementValue 的函数,用于接收字符类型。在 driverfunction() 中,我们创建了一个按值传递的字符保存变量。让函数用++操作更新参数变量,并将其显示函数内部。驱动程序将在函数调用后再次显示它。

B.创建另一个名为 charIncrementReference 的函数,它执行与 A 部分相同的操作,但这次它应该通过引用处理 char 变量。

C.创建另一个名为 charIncrementValueShow 的函数并再次执行与 A 部分相同的操作,但这次将其编码为在函数显示地址,而不是值。

我的问题是显示地址。我不知道在 printf() 之外如何做,这门课我还没有学过,所以我不想越界。

我的代码

#include <cassert>
#include <iosfwd>
#include <iostream>
#include <iomanip>
#include <limits>  
#include <cmath> 

using std::cout;
using std::cin;
using std::endl;

        //Task 4 Prototypes
    
    void charIncrementValue(char charVar);
    void charIncrementReference(char &charVar);
    void charIncrementValueShow(char charVar);
    
    void
    passBy()
    {
      // 4-A
      char holdVar = 'g';
      charIncrementValue(holdVar);
      cout << "holdVar = " << holdVar << endl;
    
      cout << "end of part 4-A" << endl;
      cin.get();
      // 4-B
      char holdVar2 = 'g';
      charIncrementReference(holdVar2);
      cout << "holdVar2 = " << holdVar2 << endl;
    
      cout << "end of part 4-B" << endl;
      cin.get();
      // 4-C
      char holdVar3 = 'g';
      charIncrementValueShow(holdVar3);
      cout << "holdVar3 = " << holdVar3 << endl;
    
      cout << "end of part 4-C" << endl;
      cout << "end of pass passBy" << endl;
      cin.get();
    }
    
    //Task 4-A function to increment a value passed by value
    void charIncrementValue(char charVar)
    {
        ++charVar;
        cout << "charVar = " << charVar << endl;
    }
    
    //Task 4-B function to increment a value passed by reference
    void charIncrementReference(char &charVar)
    {
        ++charVar;
        cout << "charVar = " << charVar << endl;
    }
    
    //Task 4-C function to increment the address of a value
    void charIncrementValueShow(char charVar)
    {
        ++charVar;
        cout << "charVar = " << charVar << endl;
    }

任务 4-C 只是 4-A 的复制/粘贴,因为我只是想要一个填充物,直到我明白需要什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)