首页 > 解决方案 > C++ 指针,输出

问题描述

#include<iostream>
#include<cmath>
using namespace std;
void main()
{
    float x[5] = { 1,2,3,4,5 };
    float *zeiger = x + 1;
    cout << zeiger << endl;
    cout << *(zeiger + 2) << endl;
    for (int i = 0; i < 3; i++)
    {
        zeiger += i;
        x[i] = pow(*zeiger, -1);
        cout << x[i] << endl;
    };
    system("PAUSE");
};

大家好。有人能告诉我为什么程序最后会给出 0,2 吗?我理解前面的输出:地址 4 0,5 0,33

但是为什么是0,2呢?不应该是0,25吗?(对不起,如果我的英语不是你喜欢的。还在学习:))

标签: c++visual-c++output

解决方案


没关系。现在我知道了。没有意识到使用 += i 时 zeiger 会被覆盖。感谢你们 :)


推荐阅读