指针没有将我的新值添加到变量的内存位置

Pointer not adding my new values to my memory location of a variable

本文关键字:变量 内存 位置 添加 新值 我的 指针      更新时间:2023-10-16

AddFive(int* Age)这个方法的工作是给我的年龄增加一些价值。但是它不起作用

void AddFive(int* Age)
{
    *Age= *Age+ 5;
} 
int MyAge = 23;
AddFive(MyAge );
printf("My original Age is %dn", MyAge );

用变量的地址——

调用方法
AddFive(&MyAge);

因为你的函数接受整数地址

使用这个来调用你的方法

AddFive(&MyAge );

实际上在你的AddFive的函数定义中,你说的是pointer to int应该在调用AddFive时作为参数传递,但这不是你在调用AddFive作为AddFive(MyAge)时所做的,其中MyAge是一个整数,而不是一个指向整数的指针。

因此要解决这个错误,您应该尝试:

int MyAge = 23;
AddFive(&MyAge);