gpt4 book ai didi

c++ - 递增指针不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:08:08 24 4
gpt4 key购买 nike

我正在尝试增加指针。我确信它类似于 do i+=1 ,但我正在获取地址。

#include "stdafx.h" 
#include <iostream>
using namespace std;
int main()
{
int i = 42;
int *a = &i;
*a++;
cout << *a;
cin.get();
return 0;
}

谁能解释一下为什么?

最佳答案

++ 的运算符优先级高于指针取消引用运算符 *

所以 *a++ 所做的是在递增 之前返回 i 的值(*a 的旧值)指针值。

在对该表达式求值后,a 现在指向除 i 地址之外的其他内容,以及后续 *a 的行为> 是未定义

如果你想通过指针递增i,那么使用(*a)++;

关于c++ - 递增指针不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512482/

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