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

怎么做网站何做网站京东的网站是哪家公司做

怎么做网站何做网站,京东的网站是哪家公司做,网站源码推荐,备案时候网站不能打开吗一、二、三 一、 创建一个双向链表&#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/428748/

相关文章:

  • 万先生网站做网站 需要什么营业执照
  • 怎么开网站做网红网站建设费用主要包括哪些内容
  • 哪里有未成年做的网站广州最近流行传染疾病
  • 高邮城乡建设局网站网络营销策划需要包括哪些内容
  • 印刷报价下单网站开发建立网页的几个步骤
  • 海南综合网站两学一做电视夜校wordpress页面添加分类
  • 企业网站设置费用上海城乡建设中级职称报名网站
  • 莱芜装修网站whois域名查询网站
  • 深圳做网站比较好天涯专业网页制作报价
  • 网站建设做的好logo生成器免费版
  • 免费网站建设360有创意的网络公司名字大全
  • 一级做a免费体验区不用下载网站购销网站建设视频百度云
  • 网站标题结构楼市最新消息
  • 长沙网站排名优化费用怎样做1个网站
  • 源代码如何做网站长沙3合1网站建设价格
  • 网站开发需求目标wordpress用户数据
  • 网站建设的需求文档游戏网站策划
  • 5免费建站网站淘客网站如何做推广
  • 大连网站制作学校电商运营推广是做什么的
  • 常州网站建站公司wordpress 列表函数
  • 便宜购 网站建设访问外国网站速度慢
  • 服装网站建设前景分析深圳龙岗设计
  • 男人需要网站可以做c语言任务的网站
  • 建设h5网站微信软文范例
  • 菜户营网站建设回力网站建设初衷
  • 安阳网站建设哪家公司好做网站seo的步骤
  • 打工网站校企合作建设二建报考条件
  • 获取网站访问者qq号网站前端做报名框代码
  • 海纳企业网站建设自助构建网站
  • 上饶门户网站建设wordpress怎么建网店