当前位置: 首页 > 图文教程 > 开发语言 > C/C++ > C/C++:小编谈C语言函数那些事(11)

C/C++
2009年编程开发语言的使用率
C++对象模型笔记:dynamic binding
cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)
子串匹配:不回溯算法
C++ Builder 访问 USB 口的方法
C++中二维数组的动态分配
数组和指针在编译的时候的区别
如何利用doxygen生成pdf文档
有关C++析构函数的异常(Exceptions in Destructors)
C++模板学习之函数对象之谓词
5月编程语言排行榜:D语言风采不再
一个C++类实现文件全盘搜索
C语言编程宝典之一 读书笔记
C语言嵌入式系统编程修炼(内存操作)
C++内存管理
带头结点的双循环链表
有关VA_LIST的用法
C++标准库简介(转)
一个栈类的实现(链栈)
C 引用与指针的比较

C/C++:小编谈C语言函数那些事(11)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 65 ::
收藏到网摘: n/a

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。

 

1. kbhit函数

 

kbhit函数是检查当前按下的键,其用法为:int kbhit(void);程序例子如下:

#include <conio.h>

int main(void)

{

   cprintf("Press any key to continue:");

   while (!kbhit()) /* do nothing */ ;

   cprintf("\r\nA key was pressed...\r\n");

   return 0;

}

2. keep函数

 

keep函数是退出并继续驻留,其用法为:void keep(int status, int size);程序例子如下:

#include <dos.h>

#define INTR 0x1C

#define ATTR 0x7900

extern unsigned _heaplen = 1024;

extern unsigned _stklen  = 512;

void interrupt ( *oldhandler)(void);

void interrupt handler(void)

{

   unsigned int (far *screen)[80];

   static int count;

   screen = MK_FP(0xB800,0);

   count++;

   count %= 10;

   screen[0][79] = count + '0' + ATTR;

   oldhandler();

}

int main(void)

{

oldhandler = getvect(INTR);

setvect(INTR, handler);

keep(0, (_SS + (_SP/16) - _psp));

return 0;

}

3. lfind函数

Lfind函数是执行线性搜索,其用法为:void *lfind(void *key, void *base, int *nelem, int width, int (*fcmp)()); 程序例子如下:

#include <stdio.h>

#include <stdlib.h>

int compare(int *x, int *y)

{

   return( *x - *y );

}

int main(void)

{

   int array[5] = {35, 87, 46, 99, 12};

   size_t nelem = 5;

   int key;

   int *result;

   key = 99;

   result = lfind(&key, array, &nelem,

        sizeof(int), (int(*)(const void *,const void *))compare);

   if (result)

      printf("Number %d found\n",key);

   else

      printf("Number %d not found\n",key);

   return 0;

}