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

网络营销网站推广方法把网站做进微信公众号

网络营销网站推广方法,把网站做进微信公众号,谷歌上怎样做网站,莱州网站建设服务文章目录 6. 如何写出好#xff08;易于调试#xff09;的代码6.1 优秀的代码#xff1a;6.2 示范#xff1a;6.3 const的作用 7. 编程常见的错误7.1 编译型错误7.2 链接型错误7.3 运行时错误 附#xff1a; 6. 如何写出好#xff08;易于调试#xff09;的代码 6.1 优… 文章目录 6. 如何写出好易于调试的代码6.1 优秀的代码6.2 示范6.3 const的作用 7. 编程常见的错误7.1 编译型错误7.2 链接型错误7.3 运行时错误 附 6. 如何写出好易于调试的代码 6.1 优秀的代码 代码运行正常bug很少效率高可读性高可维护性高注释清晰文档齐全 常见的coding技巧 使用assert尽量使用const养成良好的编码风格添加必要的注释避免编码的陷阱 6.2 示范 模拟实现库函数strcpy 我们先来看一下strcpy是如何使用的 #include stdio.h #include string.hint main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;//strcpy(arr2, arr1);//printf(%s\n, arr2);printf(%s\n, strcpy(arr2, arr1));return 0; }接下来我们来实现它 #include stdio.hvoid my_strcpy(char* dest, char* src) {while (*src ! \0){*dest *src;dest;src;}*dest *src;// \0 的拷贝 }int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;my_strcpy(arr2, arr1);printf(%s\n, arr2);return 0; }我们还可以使用assert对它进行优化 #include stdio.h #include assert.hvoid my_strcpy(char* dest, char* src) {//断言assert(dest ! NULL);assert(src ! NULL);while (*src ! \0){*dest *src;dest;src;}*dest *src;// \0 的拷贝 }int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;char* p NULL;//my_strcpy(p, arr1);my_strcpy(arr2, arr1);printf(%s\n, arr2);return 0; }通过assert我们可以确保某些事情不会发生一旦发生它就会报错这样就能方便我们快速找到错误。 我们还可以将字符和\0的拷贝放到一起 #include stdio.h #include assert.hvoid my_strcpy(char* dest, char* src) {//断言assert(dest ! NULL);assert(src ! NULL);while (*dest *src)//赋值表达式比如把h赋给*dest表达式的结果就是h的ASCII码值{dest;src;}}int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;char* p NULL;//my_strcpy(p, arr1);my_strcpy(arr2, arr1);printf(%s\n, arr2);return 0; }还可以这样写 #include stdio.h #include assert.hvoid my_strcpy(char* dest, char* src) {//断言assert(dest ! NULL);assert(src ! NULL);while (*dest *src)//赋值表达式比如把h赋给*dest表达式的结果就是h的ASCII码值{;//空语句}}int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;char* p NULL;//my_strcpy(p, arr1);my_strcpy(arr2, arr1);printf(%s\n, arr2);return 0; }此外我们还可以对返回类型进行优化 #include stdio.h #include assert.h//函数返回的是目标空间的起始地址 char* my_strcpy(char* dest, char* src) {char* ret dest;//断言assert(dest ! NULL);assert(src ! NULL);while (*dest *src)// 赋值表达式比如把h赋给*dest表达式的结果就是h的ASCII码值{;//空语句}return ret; }int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;char* p NULL;//my_strcpy(p, arr1);//my_strcpy(arr2, arr1);//printf(%s\n, arr2);printf(%s\n, my_strcpy(arr2, arr1));return 0; }另外为了保证传进去的arr1不被修改我们还可以加上const进行修饰 #include stdio.h #include assert.h//函数返回的是目标空间的起始地址 char* my_strcpy(char* dest, const char* src) {char* ret dest;//断言assert(dest ! NULL);assert(src ! NULL);while (*dest *src)// 赋值表达式比如把h赋给*dest表达式的结果就是h的ASCII码值{;//空语句}return ret; }int main() {char arr1[] hello bit;char arr2[20] xxxxxxxxxxxxx;char* p NULL;//my_strcpy(p, arr1);//my_strcpy(arr2, arr1);//printf(%s\n, arr2);printf(%s\n, my_strcpy(arr2, arr1));return 0; }6.3 const的作用 有以下两种方式可以修改num的值 int main() {int num 10;num 20;int* p num;*p 200;return 0; }现在我们加上const #include stdio.hint main() {const int n 100;//n 200;//errint* p n;*p 20;printf(%d\n, n);return 0; }加上const是为了不让n的值发生变化但是现在我们却可以通过地址的方式来改变它于是我们可以进行以下操作 int main() {const int n 100;//n 200;//err//int* p n;//*p 20;//printf(%d\n, n);const int* p n;//*p 20;//errreturn 0; }通过以上代码我们可以发现const是可以修饰指针的 //const 修饰指针的时候 //当const 放在*的左边的时候限制的是指针指向的内容不能通过指针变量改变指针指向的内容但是指针变量本身是可以改变的 //当const 放在*的右边的时候限制的是指针变量本身指针变量本身是不能改变的但是指针指向的内容是可以通过指针来改变的#include stdio.hint main() {int m 10;int n 100;//const可以修饰指针const int* p m;//*p 0;//errp n;//okprintf(%d\n, m);return 0; }#include stdio.hint main() {int m 10;int n 100;//const可以修饰指针int* const p m;*p 0;//ok//p n;//errprintf(%d\n, m);return 0; }#include stdio.hint main() {int m 10;int n 100;//const可以修饰指针const int* const p m;//*p 0;//err//p n;//errprintf(%d\n, m);return 0; }练习 模拟实现一个strlen函数 //模拟实现一个strlen函数 //assert //const//size_t 是专门为sizeof设计的一个类型 //size_t -- unsigned int / unsigned long //0#include stdio.h #include assert.hsize_t my_strlen(const char* str) {assert(str ! NULL);size_t count 0;while (*str ! \0){count;str;}return count; }int main() {char arr[] abc;size_t len my_strlen(arr);printf(%zd\n, len);//zd是专门用来打印size_t类型的值的return 0; }//%u 无符号整数的7. 编程常见的错误 7.1 编译型错误 直接看错误提示信息双击解决问题或者凭借经验就可以搞定相对来说简单。 int main() {int a 10//编译期间找到的一般都是语法问题return 0; }7.2 链接型错误 看错误提示信息主要在代码中找到错误信息中的标识符然后定位问题所在一般是标识符名不 存在或者拼写错误。 //链接型错误是在链接期间发现的错误int Add(int x, int y) {return x y; }int main() {int ret add(2, 3);return 0; }7.3 运行时错误 借助调试逐步定位问题最难搞。 #include stdio.hint Add(int x, int y) {return x - y; }int main() {int ret Add(2, 3);printf(%d\n, ret);return 0; }附 实用调试技巧1
http://www.hkea.cn/news/14457624/

相关文章:

  • 专业网站建设咨搜索引擎广告形式有
  • 树莓派做网站服务器重庆网站seo搜索引擎优化
  • 佛山企业网站建设技术wordpress商城模板好用吗
  • 如何用服务器搭建自己的网站建网站企划书
  • 除了阿里巴巴还有什么网站做外贸的廊坊智能模板建站
  • 做设计及免费素材网站有哪些wordpress好
  • 网站的网页声明怎么做php网站语言切换功能如何做
  • 免费的网站域名查询565wcc建一个定制网站要多少钱
  • 宝丰网站制作效果好手机网站制作教程
  • 主动创新网站内容建设php网站怎么缓存
  • 如何找到网站的模板页面wordpress移除评论字段
  • 徐州网站开发口碑好微信app官方免费下载
  • 免费网站推广软件有哪些网站开发时会遇到哪些问题
  • 创办一个网站需要多少资金河南城市建设网站
  • win2008 建立网站表白网址生成器
  • 网站开发主要创新点网站制作怎样容易
  • 如何线下宣传网站高端终端网站设计类网站
  • 网站建设工单系统护语网站建设与管理实用教程课后答案
  • 如何创建一个网站的步骤注册装修公司要多少钱才能注册
  • 阳逻开发区网站建设中企动力做网站后有人抢注关键词
  • 自建网站外贸怎么做宜昌本地网站建设
  • 重庆交通建设集团有限公司网站wordpress手机中文版下载
  • 深圳网站建设价格多少vi企业形象设计公司
  • 快递网站建设代码郑州seo建站
  • 网站如何集成微信支付怎么做相亲网站
  • 台州网站推广技巧付费阿克苏网站建设
  • 线报网站如何做好的外贸网站建设
  • 南宁制作网站服务商贵州省建设厅二建报名网站
  • 网站建设公司是什么网站标题写什么作用是什么
  • wordpress 站内通知网页传奇发布网