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

自己做企业网站用哪个软件襄阳南漳县城乡建设局网站

自己做企业网站用哪个软件,襄阳南漳县城乡建设局网站,影响网站用户体验,摄影网站制作步骤htmlC语言goto#xff0c;longjmp()和setjmp()之间有什么区别 goto语句实现程序执行中的近程跳转(local jump)#xff0c;longjmp()和setjmp()函数实现程序执行中的远程跳转(nonlocaljump#xff0c;也叫farjump)。通常你应该避免任何形式的执行中跳转#xff0c;因为在程序中…C语言gotolongjmp()和setjmp()之间有什么区别 goto语句实现程序执行中的近程跳转(local jump)longjmp()和setjmp()函数实现程序执行中的远程跳转(nonlocaljump也叫farjump)。通常你应该避免任何形式的执行中跳转因为在程序中使用goto语句或longjmp()函数不是一种好的编程习惯。goto语句会跳过程序中的一段代码并转到一个预先指定的位置。为了使用goto语句你要预先指定一个有标号的位置作为跳转位置这个位置必须与goto语句在同一个函数内。在不同的函数之间是无法实现goto跳转的。下面是一个使用goto语句的例子void bad_programmers_function(void){int xprintf(Excuse me while I count to 5000... \n) ;x----l~while (1){printf( %d\n, x)if (x 5000)goto all_doneelsexx1;}all_done:prinft(Whew! That wasnt so bad, was it?\n);}如果不使用goto语句是例可以编写得更好。下面就是一个改进了实现的例子void better_function (void){int xprintf(Excuse me while I count to 5000... \n);for (x1; x5000, x)printf( %d\n, x)printf(Whew! That wasnt so bad, was it?\n) ;}前面已经提到longjmp()和setjmp()函数实现程序执行中的远程跳转。当你在程序中调用setjmp()时程序当前状态将被保存到一个jmp_buf类型的结构中。此后你可以通过调用longjmp()函数恢复到调用setjmp()时的程序状态。与goto语句不同longjmp()和setjmp()函数实现的跳转不一定在同一个函数内。然而使用这两个函数有一个很大的缺陷当程序恢复到它原来所保存的状态时它将失去对所有在longjmp()和setjmp()之间动态分配的内存的控制也就是说这将浪费所有在longjmp()和setjmp()之间用malloc()和calloc()分配所得的内存从而使程序的效率大大降低。因此你应该尽量避免使用longjmp()和setjmp()函数它们和goto语句一样都是不良编程习惯的表现。下面是使用longjmp()函数和setjmp()函数的一个例子#include stdio.h#include setjmp.hjmp_buf saved_state;void main(void);void call_ longjmp (void);void main(void){int ret_code;printf(The current state of the program is being saved... \n);ret_code setjmp (saved_state)if (ret_code 1){printf(The longjmp function has been called. \n )printf(The programs previous state has been restored. \n);exit(0)}printf(I am about to call longjmp and\n);printf(return to the previous program state... \n )call_ longjmp ( )}void call_longjmp (void){longjmp (saved_state, 1 )} switch语句的最后一个分支可以不要break语句吗 尽管switch语句的最后一个分支不一定需要break语句但最好还是在switch语句的每个分支后面加上break语句包括最后一个分支。这样做的主要原因是你的程序很可能要让另一个人来维护他可能要增加一些新的分支但没有注意到最后一个分支没有break语句结果使原来的最后一个分支受到其后新增分支的干扰而失效。在每个分支后面加上break语句将防止发生这种错误并增强程序的安全性。此外目前大多数优化编译程序都会忽略最后一条break语句所以加入这条语句不会影响程序的性能。请参见1、什么时候用一条switch语句比用多条if语句更好?2、switch语句必须包含default分支吗? C语言switch语句必须包含default分支吗 不但是为了进行错误检查或逻辑检查还是应该在switch语句中加入default分支。例如下述switch语句完全合法switch (char_code){case tyt:case y: printf ( You answered YES ! \n )breakcase N:case n: printf (You answered NO!\n);break}但是如果一个未知字符被传递给这条switch语句会出现什么情况呢?这时程序将没有任何输出。因此最好还是加入一个default分支以处理这种情况......default: printf (Unknown response : %d\n, char_code);break......此外default分支能给逻辑检查带来很多方便。例如如果用switch语句来处理数目固定的条件而且认为这些条件之外的值都属于逻辑错误那么可以加入一个default分支来辨识逻辑错误。请看下列void move_cursor (int direction){switch (direction){case UP:     cursor_up()breakcase DOWN:   cursor_down()breakcase LEFT:   cursor_left ()breakcase RIGHT:  cursor_ right ( )breakdefault:     printf (Logic error on line number %ld!!! \n,__ LINE__ )break}}请参见   1、什么时候用一条switch语句比用多条if语句更好?2、Switch语句的最后一个分支可以不要break语句吗? C语言编程中什么时候用一条switch语句比用多条if语句更好 如果你有两个以上基于同一个数字(numeric)型变量的条件表达式那么最好使用一条switch语句。例如与其使用下述代码if (x l)printf (x is equal to one. \n);else if (x 2)printf (x is equal to two. \n);else if (x 3)printf (x is equal to three. \n);elseprintf (x is not equal to one, two, or three. \n);不如使用下述代码,它更易于阅读和维护switch (x){case 1:  printf (x is equal to one. \n);break;case 2:  printf (x is equal to two. \n);breakcase 3:  printf (x is equal to three. \n);break;default: printf (x is not equal to one, two, or three. \n);break;}注意使用switch语句的前提是条件表达式必须基于同一个数字型变量。例如尽管下述if语句包含两个以上的条件但该例不能使用switch语句因为该例基于字符串比较而不是数字比较char *nameLupto;if(!stricmp(nameIsaac))   printf(Your name meansLaughter\n);else if(!stricmp(nameAmy))printf(Your name meansBeloved\n);else if(!stricmp(nameLloyd))printf(Your name meansMysterious\n);elseprintf(I havent a clue as to what your name means\n);请参见1、switch语句必须包含default分支吗7   2、switch语句的最后一个分支可以不要break语句吗?
http://www.lebaoying.cn/news/75601.html

相关文章:

  • 网站后台上传图片做难吗铭泰东莞网站建设
  • 设计网站外网2023新闻大事10条
  • 对网站内容建设的建议蚌埠网站建设专业公司哪家好
  • 建了网站但是百度搜索不到校园微信网站模板
  • 怎样在手机上建设网站聊城专业做网站公司
  • 成都网站制作维护凡客之家贷款返佣推广平台
  • 中国建设部监理工程师查询网站素材网站 国外
  • 大连建设网球场价格网站标题的优化
  • 网站内链怎么坐锚文本加盟类网站怎么做
  • 邢台网络公司网站建设黄石百度做网站多少钱
  • 网站建设增城制作小企业网站
  • 外包网站自己维护小公司如何做网站隔离
  • 济南网络营销网站建设wordpress首页文章并排
  • 深圳住房与建设局官方网站企业seo外包
  • 网站被k是什么意思wordpress的样式表
  • 许昌北京网站建设重庆二级站seo整站优化排名
  • 如何在百度搜索dw做的网站平台营销型网站
  • 郑州工程建设信息网站凡氪官网
  • 手机网站 禁止缩放泉州那几个公司网站建设比较好
  • 网站结构优化的优化包括那种类型的网站可以自己做也可以赚钱
  • 免费字体设计网站wordpress中文手册pdf
  • 维护网站是什么工作扬州网站建设公元国际
  • 网页设计与网站建设期末考试题汤原建设局网站
  • 江西工程建设信息网站建站宝盒创业经历
  • 哪项属于网页制作工具徐州整站优化
  • 在因特网上建设网站可选择的方案有上班族怎样提升学历
  • 想自己做个网站怎么做discuz做资讯网站合适吗
  • 七牛云存储代替WordPress汕头seo网站管理
  • 物流网站开发策划辽宁省辽宁省建设厅网站
  • 网站建设金手指霸屏拼团小程序代理