随笔分类 - Function
摘要:一.memcmp函数原型:extern int memcmp(void *buf1, void *buf2, unsigned int count); 用法:#include <string.h> 功能:比较内存区域buf1和buf2的前count个字节。 说明: 当buf1<buf2时,返回值<0 当buf1=buf2时,返回值=0 当buf1>buf2时,返回值>0 1 #include <stdio.h> 2 #include <string.h> 3 4 int main() 5 { 6 char *s1="Hell
阅读全文
摘要:1 //输出了32767 2 //RAND_MAX是VC中stdlib.h中宏定义的一个字符常量: 3 //#define RAND_MAX 0x7FFF 4 #include <iostream> 5 #include <stdlib.h> 6 using namespace std; 7 int main() 8 { 9 cout<<RAND_MAX<<endl;10 while(1);11 } 因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值
阅读全文
摘要:char *strtok(char *s, const char *delim);分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分割出片段的指针。 1 #include <iostream> 2 #include <cstring> 3 usi
阅读全文
摘要:setbuf 函数名: setbuf 功 能: 把缓冲区与流相联 用 法: void setbuf(FILE *steam, char *buf); (File *stream,char *buf)设置流使用 buf缓冲区 ,若buf为NULL,则不使用缓冲区 说明:setbuf函数具有打开和关闭缓冲机制。为了带缓冲进行I/O,参数buf必须指向一个长度为BUFSIZ(定义在stdio.h头文件中)的缓冲区。通常在此之后该流就是全缓冲的,但是如果该流与一个终端设备相关,那么某些系统也可以将其设置为行缓冲。为了关闭缓冲,可以将buf参数设置为NULL。 程序例: #include...
阅读全文
摘要:声明时使用关键字 inline。编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。注意:内联函数体内不能有循环语句和switch语句。内联函数的声明必须出现在内联函数第一次被调用之前。对内联函数不能进行异常接口声明函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。例如:int add(int x=5,int y=6){ return x+y;}void main(void){ add(10,20); //10+20 add(10); //10+6 add(); //5+6}默认形参值必须从右向左顺序声明,并且在默认形参值的右面不能
阅读全文
摘要:原型:int isalpha(int ch) (另外的俩个函数格式和这个一样)用法:头文件加入#include <cctype>(C语言使用<ctype.h>功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)”做测试,返回非零值(不一定是1),否则返回零。#include<stdio.h>#include<ctype.h>//string.h不行 #include <conio.h>//getch()int main(){ char ch='
阅读全文
摘要:在VC中Sleep中的第一个英文字符为大写的"S" 在标准C中是sleep, 不要大写.. 下面使用大写的来说明,, 具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep. Sleep函数的一般形式: Sleep(unsigned long); 其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000); 在Linux下,sleep中的“s”不大写 sleep()里面的单位是秒,而不是毫秒。在内核中,sleep的实现是由pause函数和alarm函数两个实现的。 #include <windo
阅读全文
摘要://两个数的最大公约数--欧几里得算法int gcd(int a, int b){ if (a < b) swap(a, b); if (b == 0) return a; else return gcd(b, a%b);}//n个数的最大公约数算法//说明: //把n个数保存为一个数组//参数为数组的指针和数组的大小(需要计算的数的个数)//然后先求出gcd(a[0],a[1]), 然后将所求的gcd与数组的下一个元素作为gcd的参数继续求gcd//这样就产生一个递归的求ngcd的算法 int ngcd(i...
阅读全文
摘要:#include<iostream>#include<stdlib.h>using namespace std;int main(){ freopen("123.txt","r",stdin); freopen("abc.txt","w",stdout); int a; cin>>a; cout<<a*2<<endl; system("pause"); return 0;}
阅读全文
摘要:函数及其参数 long int strtol(const char *nptr,char **endptr,int base);编辑本段函数的解释说明 这个函数会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做..
阅读全文
摘要:strupr 原型:extern char *strupr(char *s); 用法:#include <string.h> 功能:将字符串s转换为大写形式 说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。 举例: // strupr.c #include <stdio.h> #include <string.h> int main() { char s[]="Copywrite 1999-2000 GGV Technologies"; printf("%s",strupr(s)); getchar(
阅读全文
摘要:C语言函数名rand简介 功 能::伪随机数发生器 所属库:stdlib.h 用 法: 需要先调用srand初始化,一般用当前日历时间初始化随机数种子,这样每次执行代码都可以产生不同的随机数。 函数原型:int rand(void); srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned seed); 例1(C语言) 随机输出十个0-100之间的整数 #include <stdlib.h> /*用到了srand函数,所以要有这个头文件*/ #include <stdio.h> #define MAX 10 int mai...
阅读全文
摘要:当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。 使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 函数名:freopen 声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: stdio.h 参数说明: path: 文件...
阅读全文
摘要:比如 int g(int x) { return x + x; } int f() { return g(); } 这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者。 如果g是inline的话。f会被直接编译成。 int f() { return x + x; } 相当于把g执行的操作直接融合到f里。这样减少了调用g消耗的时间,但同时也增大了f的尺寸。 这就是inline函数,也就是所谓的内联函数。 --------- 但是现在不是这样了。 现在的编译器会自动决定是否对函数进行上面的操作,而不是根据你前面加不加inline。 但是inline本身还是有另外一个意义: 一
阅读全文
摘要:qsort函数简介头文件为:#include<stdlib.h> 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); 参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指 针,用于确定排序的顺序1.对一个长为1000的数组进行排序时,int a[1000]; 那么base应为a,num应为 1000,width应为 sizeof(int),comp函数随自己的命名。 qsor
阅读全文