自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 const是只读,不是常量

#include int main(){ int buf[3]; const int a = 5; buf[-1] = 6; printf("%d\n",a); return 0;}

2013-09-30 16:11:18 1483

原创 一个小程序

#include #include #include int main(){ unsigned int seed; /*申明初始化器的种子,注意是usigned int 型的*/ int k; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_INTEN

2013-09-29 10:32:39 1293

原创 strncat函数

/*原型:extern char *strncat(char *dest,char *src,int n);用法:#include 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。*/#inc

2013-09-23 20:11:09 1820

原创 strncpy函数

/*原型:char * strncpy(char *dest, char *src,size_tnum);功能:(c/c++)复制src中的内容(字符,数字、汉字....)到dest,复制多少由num的值决定,返回指向dest的指针。如果遇到null字符('\0'),且还没有到num个字符时,就用(num - n)(n是遇到null字符前已经有的非null字符个数)个null字符附加到

2013-09-23 19:08:05 2303

原创 strnlen函数

/*串比较,strnlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'或计数器到达以下的maxlen为止,然后返回计数器值。(该函数能防止使用strlen(char * str )时str字符串不以'\0'结束而引发的错误)。*/ #include si

2013-09-23 17:27:39 4317

原创 strspn函数

/*strspn(返回字符串中第一个不在指定字符串中出现的字符下标)表头文件 #include定义函数 size_t strspn (const char *s,const char * accept);函数说明 strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s

2013-09-23 15:40:47 2019

原创 strstr函数

/*包含文件:string.h函数名: strstr函数原型:extern char *strstr(char *str1, char *str2);功能:从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。     如果s2为空串,则返回s1返回值:返回该位置的指针,如找不到,返回

2013-09-23 14:11:06 1645

原创 strrchr函数

/*函数名称: strrchr函数原型:char *strrchr(const char *str, int c);所属库: string.h函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。这个函数和s

2013-09-23 11:20:56 2113

原创 strdup函数

/*功  能: 将串拷贝到新建的位置处strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。这个函数在linux的man手册里解释为:The strdup() function returns a pointer toa new string which is aduplicate o

2013-09-23 10:43:42 1718

原创 strpbrk函数

/*strpbrk函数用法:#include 功能:依次检验字符串s1中的字符,当被检验字符在字符串s2中也包含时,则停止检验,并返回该字符位置,空字符NULL不包括在内。说明:返回s1中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL。用途:在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。这个函数与strsc

2013-09-23 10:14:17 1616

原创 strcspn函数

/*strcspn原型:size_t strcspn(const char *s1,const char *s2);相关头文件:string.h功能:顺序在字符串s1中搜寻与s2中字符的第一个相同字符,包括结束符NULL,返回这个字符在S1中第一次出现的位置。说明:(返回字符串s1中第一个在s2中出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。)这

2013-09-23 09:37:07 2097

原创 strchr函数

#include char *strchr(const char *str, int c){ while((char)c != *str && *str!= '\0') { str++; } return (*str == c?(char*)str:NULL);}int main (){ char str[] = "This is a s

2013-09-22 11:59:19 1441

原创 strcmp函数

#include #include int strcmp(char const *str1, char const *str2){ int ret = 0; assert(str1 != NULL && str2 != NULL); while ( ! (ret = *(unsigned char*)str1 - *(unsigned char*)str2) &

2013-09-22 10:25:45 1461

原创 strcat函数

#include char* strcat(char *dest, const char *src){//注意*号的位置,紧挨着char,表示返回一个char*型的指针,而紧挨着参数名,表示该参数是一个指针,便于程序的理解。 char *address = dest; if (dest == NULL && src == NULL) { return dest;

2013-09-22 09:04:09 1875

原创 比较两个文件相同的地方

#include #include int main(){ FILE *fp1,*fp2,*fp3; char filename[1000]; char c1,c2; printf("请输入文件名1:"); gets(filename); fp1 = fopen(filename,"r"); if (!fp1) { printf("文件不存在,打开失败!");

2013-09-20 19:31:30 1304

原创 strcpy函数

网上流行的标准实现 #include char *strcpy(char *dest, const char *src){ char *address = dest; //保存原目标地址 if (dest == NULL || src == NULL) { return NULL; //也可以使用断言 } while((*dest

2013-09-18 11:30:06 1438

原创 strlen函数

#include size_t strlen(const char *string){//通过这函数可知,对于一个未初始化的字符数组,求它的字符串长度是不对的,也是不可知的。 size_t length; for(length = 0; *string++ != '\0';) { length+=1;//遍历整个字符串,直到遇到空字符 } return length;

2013-09-17 19:38:55 1576

原创 strnicmp函数

函数名: strnicmp功 能: 比较字符串str1和str2的前n个字符串字典序的大小,但是不区分字母大小写。返回值: 当str1str2时,返回值>0。比较是这样进行的,先比较2个字符串的第1个字符字典序的大小,如果能比较出大小,则马上返回了,如果不能区别大小,开始比较第2个,如果这时第1个字符串已经到尽头了,第2个字符串还有字符,这时算第2个字符串大。用 法: int st

2013-09-17 19:14:53 1740

原创 数组排序问题

有一个整型数组int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序(保持原来的顺序),返回值为原数据中第一个元素为0的下标。#include int Func(int *a, int nSize){ int i,k,t=1,flag = 0; for

2013-09-17 19:07:00 1386

原创 查找一个字符串里没有出现的字母

#include int main(){ int i; int a['z'+1]; char b[100000] = "abcflalflqwofowofjwojfojowsjf"; for (i='a';i<='z';i++) { a[i] = 0; } for (i=0; i<sizeof(b); i++) { a[b[i]]++; } for (i='a'

2013-09-17 18:51:43 1673 1

原创 字符串反转的各种方法

版本1void reverse(char *str){ int i; int j = strlen(str); char temp; for (i=0; i<j;i++,j--) { temp = str[i]; str[i] = str[j-1]; str[j-1] = temp; }}版本2void reverse(char *s

2013-09-17 17:09:57 1327

原创 十进制转二进制的神奇代码

#include int main(){ int x; unsigned int i; printf("请输入一个整数:"); scanf("%d",&x); for (i=0x80000000;i;i>>=1) { printf("%d",(x&i)==i);//思想太精妙了,用移位来操作,移位真强大啊 } printf("\n"); return 0;}

2013-09-17 14:07:41 1569

原创 浮点数在计算机中的存储

#include void binary_print(unsigned char c){ int i; for(i = 0; i < 8; ++i) { if((c << i) & 0x80) printf("1"); else printf("0"); } printf(" ");}int main(){ float a = 0.0f; int i

2013-09-17 13:59:26 1318

原创 将一个整数转换为字符串

#include #include #include void reverse(char *str){ char temp; char *last_char; for (last_char = str; *last_char != '\0'; last_char++) ; last_char--; while (str < last_char) { temp

2013-09-17 09:57:59 1612

原创 将一个字符串转换为浮点数

#include #include #include double atof(const char *s){ int i = 0; int k = 0; double j; int flag = 1; double result = 0.0; while (s[i] == ' ') { i++; } if (s[i] == '+') { i++; } if

2013-09-17 09:45:54 2383

原创 将一个字符串转换为整数

#include #include #include int myatoi(char *s){ int i = 0,j; int result = 0; int flag = 1; while (s[i] == ' ') //将多余的空格字符去掉 { i++; } if(s[i] == '+')//如果是一个正整数 { i++; } if(s[i] =

2013-09-17 09:37:29 1445

原创 打印螺旋方阵

#include #define N 5#define max(a,b) ((a)<(b)?(b):(a))#define abs(a) ((a)>0?(a):(-a))int foo(int x, int y){ int t = max(abs(x),abs(y)); int u = t + t; int v = u - 1; v = v * v + u; if

2013-09-16 13:37:49 1457

原创 打印一个杨辉三角

#include #define N 8int main(){ int i,j; int a[N][N] = {0}; for (i=0; i<N; i++) { a[i][0] = 1; //第i行第1元素为1; a[i][i] = 1; //第i行最后一个元素为1; } for (i=2; i<N; i++) {//第0行与第1行的元素都是1,所

2013-09-16 10:08:11 1251

原创 大数减法

#include #include #define N 100void charstoint(int a[], char s[]){ int i; int len = strlen(s); memset(a,0,4*N); //整型占4个字节 for (i=0; i<len; i++) { //不考虑负数与非数字字符的情况 a[len-1-i] = s[i]

2013-09-12 10:22:47 1146

原创 大数加法

#include #include #define N 100void charstoint(int a[], char s[]){ int i; int len = strlen(s); memset(a,0,4*N); //整型占4个字节 for (i=0; i<len; i++) { //不考虑负数与非数字字符的情况 a[len-1-i] = s[i

2013-09-11 16:25:54 1126

原创 大数乘法

#include #include #define N 1000void charstoint(int a[], char s[]){ int i; int len = strlen(s); memset(a,0,4*N); //整型占4个字节 for (i=0; i<len; i++) { //不考虑负数与非数字字符的情况 a[len-1-i] = s[i]

2013-09-11 15:42:35 1298

原创 不用临时变量交换两个单精度浮点数的值

#include int main(){ float a = 3.14f; float b = -5.23f; *(int*)(&a) ^= *(int*)(&b); *(int*)(&b) ^= *(int*)(&a); *(int*)(&a) ^= *(int*)(&b); printf("%f %f",a,b); return 0;}单精

2013-09-11 09:11:54 1584

原创 十进制转换为任意进制(2~16)

#include char hex[] = "0123456789ABCDEF";int main(){ int i,num; _int64 n; _int64 a[64] = {0}; printf("请输入一个要转换的进制:"); scanf("%d",&num); printf("请输入一个要转换的数:"); scanf("%I64d",&n); for (i=63

2013-09-11 09:01:48 1588 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除