求助,有个指针循环看不懂。
visualstudio吧
全部回复
仅看楼主
level 2
DORGONLONG 楼主
是输入10个数,然后自动查找最大值和最小值的,代码如下:
#include "stdafx.h"
#include<iostream>
using namespace std;
void max_min(int a[], int n, int *max, int *min)
{
int *p;
*max = *min = *a;/*初始化最大值最小值指针变量*/
for (p = a + 1; p < a + n; p++)
if (*p > *max)
*max = *p;/*最大值*/
else if (*p < *min)
*min = *p;/*最小值*/
}
int _tmain(int argc, _TCHAR* argv[])
{
int i, a[10];
int max, min;
cout<<"输入10个数\n ";
for (i = 0; i < 10; i++)
cin>>a[i];/*输入数组元素*/
max_min(a, 10, &max, &min);/*返回最大值和最小值*/
cout<<"最大值是: "<<&max<<"\n";/*输出最大值*/
cout<<"最小值是: "<<&min<<"\n";/*输出最小值*/
}
我不理解max_min函数里,for循环里的那个语句,如果P=a+1,那么指针就会指向a[1]地址里的元素,那么a[0]的不就被忽略掉了吗?请达人解惑!谢谢!
2014年08月08日 07点08分 1
1