c++ - 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吗?(对不起,如果我的英语不是你喜欢的。还在学习:))
解决方案
没关系。现在我知道了。没有意识到使用 += i 时 zeiger 会被覆盖。感谢你们 :)
推荐阅读
- solr - solr 最后用通配符搜索
- python - ModuleNotFoundError:没有名为“tweepy”的模块
- android - 科尔多瓦 bluetoothSerial.discoverUnpaired 不会在 android 10 中发出值
- windows - 是否有任何方法可以使用 shell 命令获取 Windows 设备中所有已安装应用程序的详细信息
- ms-access - 使用 MS Access 查询(BOM 资源管理器的排序)
- sql - 如何在 SQL Server SQL Query 中进行多个左连接
- javascript - JavaScript 循环将数据附加到 formData - 递增变量显示与 formData 中的每个循环相同
- kivy - 在 Kivy 中使用构建器
- reactjs - 带有嵌套查询结果的 ApolloClient v3 fetchMore
- java - 为keycloak角色动态定义springboot antmatcher