C语言
sunshine552
这个作者很懒,什么都没留下…
展开
-
在终端输入多行信息,找出包含“ould”的行,并打印改行
#include #include#define MAX 1000//读取字符串函数int getline(char line[],int max)//max为数组剩余长度{ char ch; int i=0; while(max>0 && (ch=getchar())!=EOF && ch!='\n') { line[i]=ch;//读取字符放到数组Line中 i++;原创 2015-05-11 20:57:00 · 584 阅读 · 0 评论 -
实现位操作
//实现对一个8bit数据(unsigned char类型)的指定位的置0或者置1操作,并保持其他位不变#includevoid bit_set(unsigned char *p_data,unsigned char position,int flag){ unsigned char bit=1<<(position-1); if(flag)//置1操作 { *p_data=*p原创 2015-06-09 16:27:24 · 556 阅读 · 0 评论 -
动态链表增删改查及排序功能
主要功能的实现:#include "SeqList.h"void InitSeqList(SeqList * pSeq)//初始化{ assert(pSeq); pSeq->array = (DataType*)malloc(sizeof(DataType)*DEFAULT_CAPICITY); pSeq->size = 0; pSeq->capicity = DEFAULT_CA原创 2015-06-26 16:09:02 · 1008 阅读 · 0 评论 -
【C语言】字符串操作函数my_strcat
//实现字符串操作函数strcat#include#includechar *my_strcat(char *str1,char const *str2){ char *p=str1; assert((str1 != NULL) && (str2 != NULL)); while(*str1 !='\0') { str1++; } while(*str2 !='\0')原创 2015-05-22 13:07:40 · 848 阅读 · 0 评论 -
【C语言】字符串操作函数my_strcmp
//实现字符串操作函数strcmp#includeint my_strcmp(char *str1,char *str2){ while(*str1==*str2) { if(*str1=='\0') return 0; else { str1++; str2++; } } if(*str1>*str2) return -1; else r原创 2015-05-22 13:05:33 · 1052 阅读 · 0 评论 -
【C语言】字符串操作函数my_strcpy
//实现字符串操作函数strcpy#include#includechar *my_strcpy(char *dest, const char *src){ char *ret = dest; assert((dest != NULL) && (src != NULL));//断言 if(dest == src) return dest; while(*dest++ = *sr原创 2015-05-22 13:09:24 · 762 阅读 · 0 评论 -
两种方法实现判断当前机器是大端还是小端
大端:高位存低地址,地位存高地址小端:高位存高地址,低位存低地址//用联合的方式实现#includeunion UN{ int a; char c;};int main(){ union UN un; un.a=1; if(un.c==1) printf("little\n"); if(un.c==0) printf("big\n"); return 0;}原创 2015-05-17 13:22:28 · 1353 阅读 · 0 评论 -
【C语言】实现一个简单的通讯录
#include#include"contact.h"void print_menu(){ printf("*******************************\n"); printf("***1>add 2>del ******\n"); printf("***3>search 4>modify ******\n"); printf("***原创 2015-05-20 14:14:02 · 2547 阅读 · 0 评论 -
结构体内存对齐规则
结构体内存对齐规则1、第一个成员在与结构体变量偏移量为0的地址处;2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处; 对齐数=编译器默认的对齐数 与 该成员大小的较小值; vc中默认为对齐数为8 linux中默认对齐数为43、结构体总大小为最大对齐数的整数倍;4、如果嵌套了结构体,嵌套的结构体对齐到自己的最大对齐数的整数原创 2015-05-13 18:31:18 · 727 阅读 · 0 评论 -
用可变参数列表实现求n个数的平均值
va_list arg;声明一个va_list 类型的变量arg,它用于访问参数列表的未确定部分;va_start(arg,val);第一个参数是va_list的变量名,第二个参数是不确定参数的前一个参 数;a_arg(arg,int);返回这个参数的值,并使用var_arg指向下一个可变参数,第一个参数是原创 2015-05-11 21:26:50 · 829 阅读 · 0 评论 -
字符串翻转
//将student a am i 转换成 i am a student#include#include//翻转一个单词/*void reverse_string(char *l,char*r){ while(l<r) { char tmp; tmp=*l; *l=*r; *r=tmp; l++; r--; }}//由空格判断一个单词,调用reverse原创 2015-05-11 21:10:18 · 554 阅读 · 0 评论 -
double my_atof(char *str)
编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)例如:“12.34“ 返回12.34“ - 123.34“ 返回 - 123.34函数原型:double my_atof(char *str)#include#include#includedouble my_atof(char *str){ double ret = 0.0; int原创 2015-08-05 09:48:57 · 609 阅读 · 0 评论