函数名: findfirst(); findnext ();功 能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件 ;用 法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib); int findnext(struct ffblk *ffblk); 举例: /* findnext example */ #include #include int main(void) { struct ffblk ffblk; int done; printf("Directory listing of *.*\n"); done = findfirst("*.*",ffblk,0); while (!done) { printf(" %s\n", ffblk.ff_name); done = findnext(ffblk); }
C语言函数的运用及调用
①当程序变得越来越复杂的时候,我们可以使用函数进行完成任务,并不再是进行编写.
目录路径函数
字符类型分类函数
内存管理函数
数学函数
进程控制函数
日期和时间函数
接口函数
输入输出函数
图形函数
诊断函数
参数可以分为形参与实参.
形参在函数内,而实参在函数外.
形参直接使用,而实参在函数外调用.
固定的存储空间与运行时分配的存储空间方式还是有所不同的.
auto声明自动变量,自动变量用关键字作存储类别的声明,在函数调用结束将会自动释放这些存储空间.
static可以声明局部变量,在函数调用结束之后不消失而保留原值.
extern可以声明局部变量,扩展程序文件中的作用域.
#include?stdio.h
#include?stdlib.h
#include?time.h
void?Sort(int?a[],int?n)?{
int?i,j,k,t;
for(i?=?0;?i?n?-?1;?++i)?{
k?=?i;
for(j?=?i?+?1;?j?n;?++j)?{
if(a[k]?a[j])?k?=?j;
}
if(i?!=?k)?{
t?=?a[k];
a[k]?=?a[i];
a[i]?=?t;
int?Find(int?a[],int?n,int?x)?{
int?low?=?0,high?=?n?-?1,mid;
while(low?=?high)?{
if(x?==?a[mid])?return?mid;
else?if(x?a[mid])?low?=?mid?+?1;
else?high?=?mid?-?1;
return?-1;
void?Show(int?a[],int?n)?{
int?i;
for(i?=?0;?i?n;?++i)?{
printf("%d?",a[i]);
printf("\n");
int?main()?{
srand((unsigned)time(NULL));
for(i?=?0;?i?N;?++i)?
a[i]?=?rand()%N;?//?每个数都在1?--?100之间?
Show(a,N);
Sort(a,N);
x?=?rand()0?+?1;
res?=?Find(a,N,x);
if(res?=?0)?printf("数值%d的下标为%d.\n",a[res],res);
else?printf("数列中没有找到数值%d.\n",x);
return?0;
建议你用Microsoft Visual Studio,在查找函数时,在对象浏览器输入关键的一部分函数名或类名来搜索,比较容易找到你感兴趣的东西.然后阅读相关的文档,里面有函数的原型(没有例子的),你能知道如何用,但这要你有足够的基础才能看得明白.
int?search(int?a[],int?b,int?c,int?i)
{
int?x,y,z;
x=i+1;
z=b-1;
while(x=z)
if(a[y]c)
z=y-1;
continue;
x=y+1;
return?y+1;
int?main()
int?i,m,pos;
scanf("%d",m);
int?a[m];
for(i=0;im;i++)
scanf("%d",a[i]);
pos=search(a,m,a[i],i);
if(pos!=-1)
printf("FOUND?a[%d]=%d,?position?is?%d\n",i,a[i],i+1);
if(pos==-1)
printf("NOT?FOUND\n");
这种查找方法的数组必须是从小到大的,用遍历的话就没这个问题了.
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符.
其次,传值和传地址一塌糊涂,完全就是乱写么.
scanf的第二个参数是地址,如果本身不是指针则需要取址符.
我给你重写了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/
以上就是土嘎嘎小编为大家整理的c语言搜索函数如何用相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!