当前位置: 首页 > news >正文

宁波江北区网站推广联系方式成crm网

宁波江北区网站推广联系方式,成crm网,做网站用html还是jsp,广州增城做网站一、二、三 一、 创建一个双向链表&#xff0c; 将26个英文字母通过头插的方式插入到链表中 通过尾删的方式将数据读取出来并删除。main.c #include <my_head.h> #include "dblink.h"int main(int argc, const char *argv[]) {dblink *h create_head();for…

一、二、三

一、

创建一个双向链表,
将26个英文字母通过头插的方式插入到链表中
通过尾删的方式将数据读取出来并删除。

main.c

#include <my_head.h>
#include "dblink.h"int main(int argc, const char *argv[])
{dblink *h = create_head();for (char c = 'a'; c <= 'z'; c++){head_insert(h, c);output(h);putchar(10);}for (int i = 'a'; i <= 'z'; i++){printf("%-2c", del_end(h));}putchar(10);return 0;
}

dblink.c

#include "dblink.h"// 创建头结点
dblink *create_head()
{dblink *node = (dblink *)malloc(sizeof(dblink));if (NULL == node){printf("头结点创建失败\t\t\t__%d__\n", __LINE__);return NULL;}node->data = 0;node->front = NULL;node->real = NULL;return node;
}// 创建结点
dblink *create_node(char data)
{dblink *node = (dblink *)malloc(sizeof(dblink));if (NULL == node){printf("结点创建失败\t\t\t__%d__\n", __LINE__);return NULL;}node->data = data;node->front = NULL;node->real = NULL;return node;
}
// 头插
int head_insert(dblink *h, char data)
{if (NULL == h){printf("入参为空\t\t\t__%d__\n", __LINE__);return -1;}dblink *p = create_node(data);p->real = h->real;p->front = h;h->real = p;return 0;
}
// 判空
int is_empty(dblink *h)
{if (NULL == h){printf("入参为空\t\t\t__%d__\n", __LINE__);return -1;}if (NULL == h->real){return 1;}return 0;
}
// 尾删
char del_end(dblink *h)
{if (NULL == h){printf("入参为空\t\t\t__%d__\n", __LINE__);return -1;}if (is_empty(h)){printf("这是个空链表\n");return -1;}dblink *p = h;dblink *q = p->real;if (NULL != q){while (NULL != q->real){p = q;q = p->real;}}p->real = NULL;char c = q->data;free(q);return c;
}// 遍历输出
int output(dblink *h)
{if (NULL == h){printf("入参为空\t\t\t__%d__\n", __LINE__);return -1;}dblink *p = h->real;while (NULL != p){printf("%c  ", p->data);p = p->real;}return 0;
}

dblink.h

#ifndef __DBLINK_H__
#define __DBLINK_H__#include <my_head.h>typedef struct dblinklist
{char data;struct dblinklist *front;   //  头struct dblinklist *real;    //  尾
} dblink;dblink *create_head();
dblink *create_node(char data);
int head_insert(dblink *h, char data);
int is_empty(dblink *h);
char del_end(dblink *h);
int output(dblink *h);#endif

makefile

EXE=dblink
CC=gcc
OBJs+=dblink.o
OBJs+=main.o
CFLAGs=-call:$(EXE)
$(EXE):$(OBJs)$(CC) $^ -o $@
%.o:%.c$(CC) $(CFLAGs) $^ -o $@clean:rm *.o $(EXE)

二、

用自己的代码完成
strcpy strlen strcmp strcat函数的功能实现

main.c

#include <my_head.h>
#include "str.h"
int main(int argc, const char *argv[])
{char s1[128] = "abcde";char s2[128] = "abcdef";printf("strcpy \n%s\n", mystrcpy(s1, s2));printf("strlen \n%ld\n", mystrlen(s1));printf("mystrcmp \n%d\n", mystrcmp(s1, s2));printf("strcat \n%s\n", mystrcat(s1, s2));printf("strlen \n%ld\n", mystrlen(s1));return 0;
}

str.h

#ifndef __DBLINK_H__
#define __DBLINK_H__#include <my_head.h>char *mystrcpy(char *dest, const char *src);
size_t mystrlen(const char *s);
int mystrcmp(const char *s1, const char *s2);
char *mystrcat(char *dest, const char *src);#endif

str.c

#include "str.h"
char *mystrcpy(char *dest, const char *src)
{int i = 0;while (*(dest + i) = *(src + i)){i++;}return dest;
}
size_t mystrlen(const char *s)
{int i = 0;while (*(s + i) != 0){i++;}return i;
}
int mystrcmp(const char *s1, const char *s2)
{int i = 0;while (*(s1 + i) == *(s2 + i) && *(s1 + i) != 0 && *(s2 + i) != 0){i++;}return *(s1 + i) - *(s2 + i);
}
char *mystrcat(char *dest, const char *src)
{int i = 0;char *s1 = dest + mystrlen(dest);while (*(s1++) = *(src + i)){i++;}return dest;
}

makefile

EXE=str
CC=gcc
CFLAGs=-c
OBJs+=main.o
OBJs+=str.oall:$(EXE)
$(EXE):$(OBJs)$(CC) $^ -o $@
%.o:%.c$(CC) $(CFLAGs) $^ -o $@
clean:rm *.o $(EXE)

三、

完成父子进程的通信,
父进程发送一句话后,子进程接收打印
然后子进程发送一句话,父进程接收后打印

main.c

#include <my_head.h>
int main(int argc, const char *argv[])
{// 父发子收if (mkfifo("./FtoS", 0664) < 0){if (errno != 17){ERR_MSG("mkfifo FtoS");return -1;}}printf("mkfifo FtoS success\n");// 子发父收if (mkfifo("./StoF", 0664) < 0){if (errno != 17){ERR_MSG("mkfifo StoF");return -1;}}printf("mkfifo StoF success\n");pid_t cpid = fork();if (cpid < 0){ERR_MSG("fork");return -1;}else if (0 == cpid){// 子进程int StoF = open("./StoF", O_WRONLY);if (StoF < 0){ERR_MSG("open StoF");return -1;}int FtoS = open("./FtoS", O_RDONLY);if (FtoS < 0){ERR_MSG("open FtoS");return -1;}char buff[128] = "";ssize_t res = 0;while (1){bzero(buff, sizeof(buff));// 子收父res = read(FtoS, buff, sizeof(buff));if (res < 0){ERR_MSG("read");return -1;}else if (0 == res){printf("数据读取完毕,且写端关闭\n");break;}printf("父对子说 : %s\n", buff);// 子发父printf("子发父>>>");fgets(buff, sizeof(buff), stdin);buff[strlen(buff) - 1] = 0;if (write(StoF, buff, sizeof(buff)) < 0){ERR_MSG("write");return -1;}printf("子发父成功\n");}}else{// 父进程int StoF = open("./StoF", O_RDONLY);if (StoF < 0){ERR_MSG("open StoF");return -1;}int FtoS = open("./FtoS", O_WRONLY);if (FtoS < 0){ERR_MSG("open FtoS");return -1;}char buff[128] = "";ssize_t res = 0;while (1){// 父发子printf("父发子>>>");fgets(buff, sizeof(buff), stdin);buff[strlen(buff) - 1] = 0;if (write(FtoS, buff, sizeof(buff)) < 0){ERR_MSG("write");return -1;}printf("父发子成功\n");// 父收子bzero(buff, sizeof(buff));res = read(StoF, buff, sizeof(buff));if (res < 0){ERR_MSG("read");return -1;}else if (0 == res){printf("数据读取完毕,且写端关闭\n");break;}printf("子对父说 : %s\n", buff);}}return 0;
}
http://www.yayakq.cn/news/276319/

相关文章:

  • 酒店网站的设计摘要视频链接生成器
  • 培训型网站建设重庆建设公司排名
  • 电子商务网站建设和推广论文苏宁易购官网商城
  • 官网建站模板库seo 论坛
  • 可信网站值得做吗wordpress广告插件汉化
  • 提供常州微信网站建设app开发公司的管理体系
  • 开源的网站系统医院图书馆网站建设的意义
  • 企业品牌网站建设怎么做许昌网站建设哪家最好
  • 网站开发团队如何接活江西赣州
  • 厦门律师网站建设做网站价格多少钱
  • 网站站长登录方式陕西省建设部官方网站
  • 苏州建设建设信息网站网站开发工作量
  • 辽宁模板网站建设公司自己在家开网店怎么开
  • 站长源码wordpress 图片缩略图不显示图片
  • vue做网站的好处是什么在盐城做网站的网络公司电话
  • 如何给网站死链接做404百度免费发布信息
  • 厦门网站建设手机购物网站商城策划
  • 中咨城建设计有限公司 网站有wordpress模板安装教程视频
  • 做电影网站还是国外服务器dedecms做模板网站
  • 网站开发需要多少钱点评彩妆网站建设策划书
  • 在百度搜不到网站网站促销活动策划
  • 成都网站建设索q479185700兰州网站建设索q479185700
  • 北京 网站建设 京icp澄海区建设局网站
  • 天猫交易网站app制作平台哪个好用
  • 女生做网站运营累不累遵义网帮你
  • 百度搜录最快的网站邯郸做网站找哪家好
  • 描述网站开发的过程照片组合拼图
  • 电子商务网站建设需要的语言泸州百度做网站联系
  • php 个人网站 源码房地产销售政策
  • 东营市建设网站上海环球金融中心简介