c - 如何不使指向数组 [0] 的指针在每个周期修改数组 [0]
问题描述
Arr[0]
当我试图通过使用算术指针创建 2 个循环来给出一个完整的最大值和最小值数组时,我发现for
. 我通过将第一个值保存在我再次分配的另一个变量中来解决这个问题,Arr[0]
同时还将我的指针重置到起始位置。
有没有办法防止这种情况发生?
我尝试使用所有最常见的指针算术类型,并用于printf("\n array 0 = %d",Arr[0])
显示Arr[0]
每次交互的值。
int main
{
int count; int Arr[3]; //array is full of int values
int *ptr=&Arr[0]; int *max=&Arr[0];
...
for(count=0;count<10;count++)
{
if(*ptr>*max)
{
*max=*ptr;
}
ptr=ptr+1;
}
printf("%d",*max);
...
}
解决方案
*max=*ptr;
你的意思是
max=ptr;
不要*
盲目地把指针变量的每次使用都放在前面,而只是在你想遵循它们的时候。当您想要更改指针指向的位置时,没有*
.
另外:count<10
应该count<3
与数组声明相匹配。
推荐阅读
- java - 无法打开指定的文件夹android R
- python - 我想对 python 字典进行 SQL 查询
- java - Vaadin Spring Boot - 尝试导航到“”时出现异常 - NoSuchBeanDefinitionException
- javascript - 如何使用时刻 js 延迟脚本运行?
- sql - 使用单个 LIKE 子句搜索多个模式
- c# - objectlistview单元格中的复选框c#
- python - 我在格式化变量时遇到问题
- spring - Spring:为什么在端点中返回整个 OAuth2User 是不好的?
- react-native - 是否可以在其他功能标签上设置状态?
- vue.js - 在 vue 日期选择器中禁用日期