请教这个数组上标应该如何获取呢

请问这个数组下标应该怎么获取呢?
#include <stdio.h>
#define N 5

void main()
{
int i,*ptr,num[N],search;
ptr = num;

printf("\n 请输入 5 个整数:");
for(i=0;i<N;i++)
{
scanf("%d", ptr);
}
printf(" 请输入要查找的数:");
scanf("%d", &search);

for(i=0;i<N;i++)
{
if(*(ptr+i) == search)
{
break;
}
}
printf("\n 该数所在的下标为:%d\n", i);
}
谢谢大家了
------最佳解决方案--------------------
你输出数组下标的方法是对的,
你最后输出的值和你预想的不一致,是因为你输入5个数的代码有问题
你把NUM数组中的5个数打出来看看就知道了
scanf("%d", ptr);
应该是
scanf("%d", ptr+i);
------其他解决方案--------------------
for(i=0;i<N;i++)
{
scanf("%d", ptr); --ptr 换成 ptr + i;
}


------其他解决方案--------------------
i 不就等于对应的数组下标
------其他解决方案--------------------
for(i=0;i<N;i++)
{
scanf("%d", ptr++);
}
------其他解决方案--------------------
可是出来的结果是5,也就是(i+1),i循环后的值,
里面的if没起作用,不知道为什么
------其他解决方案--------------------
还是不行哎
------其他解决方案--------------------
哦,yes,太棒了,谢谢你
------其他解决方案--------------------
们大家
------其他解决方案--------------------
// pointer_CSDN_100503.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <iostream>

using namespace std;
#define N 5

int _tmain(int argc, _TCHAR* argv[])
{
int i,*ptr,num[N],search;
ptr = num;

printf("\n 请输入 5 个整数:");
for(i=0;i<N;i++)
{
scanf("%d", ptr++);
}
printf(" 请输入要查找的数:");
scanf("%d", &search);
for(i=0;i<N;i++)
{
ptr = num;
if( *(ptr+i) == search)
{
printf("\n 该数所在的下标为:%d\n", i);
break;
}
}
return 0;
}
------其他解决方案--------------------
有 一 个方法  就是这样的 
int sum[10];
int getXiaoBiao;//获取下标变量
int cunXiaBiao(int i)//存下标的函数 
{
   reture i;
}

getXiaoBiao = cunXiaBiao(i);//这样就可以传出下标了  


方法比较死 忘踩啦