#include
//这句加载要用到的头文件 比如printf就是这个文件中定义的
#define N 5//这句宏定义,意思就是碰见N就替换成5
int fun(int *s,int a ,int n)
//定义一个全局函数,三个参数,int型指针,int数字,int数字
{ int j;//定义局部变量
*s=a;//s指针指向的内容改成a
j=n;//n赋值给j
while(a!=s[j]) j--;//while循环寻指祥肢找s指向的数组值与a相等的元素
//这里说明一下,一维指针可以当做一维数组来使用,例如我定义a[3],*a就宴差是指a的第一个元素的地址
return j;
}
main()
{ int s[N+1]; int k;
for(k=1;k<=N;k++) s[k]=k+1;
printf("%d\n"唯世,fun(s,4,N));
}
#include
#define N 5//常量定义
int fun(int *s,int a ,int n)//函数声明
//功能:从s[n]向前搜索最后一个值为a的元素的下标,为0,表示失败
{ int j;/厅前/变量声明
*s=a; j=n;//a保存到s[0](就是设置"哨兵",这是编程中的一个小技巧),n保存到j
while(a!=s[j]) j--;//从后想前扫描数组,寻找值为a的元睁蚂素
return j;//返回下标(如果为0,就是"哨兵",实扮早清际表示没有找到.)
}
main()
{ int s[N+1]; int k;//声明..........
for(k=1;k<=N;k++) s[k]=k+1;//初始化数组s,不包括s[0].
printf("%d\n",fun(s,4,N));//从末尾搜索最后一个值为4的元素的下标
}