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

成都专业网站制作网站湖南省内出行最新政策

成都专业网站制作网站,湖南省内出行最新政策,郑州网球公开赛,网站模板建站教程目录 六、assert断言 七、指针的使用和传址调用 1、strlen的模拟实现 2、传值调用和传址调用 3、练习-字符串逆序 在深入理解c指针#xff08;三#xff09;提到#xff0c;在实际使用指针前可以检测其是否指到有效空间#xff1a; #includestdio.h int mai…目录 六、assert断言 七、指针的使用和传址调用 1、strlen的模拟实现 2、传值调用和传址调用 3、练习-字符串逆序  在深入理解c指针三提到在实际使用指针前可以检测其是否指到有效空间 #includestdio.h int main() {int a 10;int* p a;//...//...p NIULL;//...//...if (p ! NULL){//...}return 0; } 六、assert断言 assert.h 头文件定义了宏 assert() 用于在运行时确保程序符合指定条件如果不符合就报 错终止运行。这个宏常常被称为“断言”。 下面代码当程序运行到这一行语句时验证变量 p 是否等于 NULL 。如果确实不等于NULL程序继续运行。否则结果为假就会终止运行并且给出报错信息提示。甚至提示在哪个路径下哪个文件的哪一行出现错误。 #includestdio.h #includeassert.h int main() {int a 10;int* p a;//...//...p NULL;assert(p ! NULL);return 0; } assert的使用对程序员是非常友好的使用assert有几个好处它不仅能自动标识文件和出问题的行号还有一种无需更改代码就能开启和关闭assert的机制。 如果已经确认程序没有问题不需要再做断言就在 #includeassert.h 语句的前面定义一个宏 NDEBUG然后重新编译程序编译器就会禁用文件中所有的assert语句。如果程序又出现问题可以移除#define NDEBUG 指令或者注释掉再次编译再次编译这样就重新启用了assert语句。   #define NDEBUG #include assert.h #include stdio.h int main() {int a 10;int* p a;//...//...p NULL;assert(p ! NULL);return 0; } 七、指针的使用和传址调用 1、strlen的模拟实现 2、传值调用和传址调用 #include stdio.h void Swap1(int x, int y) {int tmp x;x y;y tmp; } int main() {int a 0;int b 0;scanf(%d %d, a, b);printf(交换前a%d b%d\n, a, b);Swap1(a, b);printf(交换后a%d b%d\n, a, b);return 0; } 发现其实没产生交换的效果我们发现在main函数内部创建了 a 和 ba 的地址是0x00cffdd0b 的地址是0x00cffdc4在调用Swap1函数时将 a 和 b 传递给了Swap1函数在Swap1函数内部创建了形参x和y接收a和b的值但是x的地址是0x00cffcecy的地址是0x00cffcf0x和y确实接收到了a和b的值不过x的地址和a的地址不⼀样y的地址和b的地址不⼀样相当于x和y是独立的空间那么在Swap1函数内部交换x和y的值自然不会影响 a 和 b当Swap1函数调用结束后回到main函数a 和 b 的没法交换。Swap1函数在使用的时候是把变量本身直接传递给了函数这种调用函数的方式我们之前在函数的时候就知道了这种叫传值调用。 结论实参传递给形参时形参会单独创建⼀份临时空间来接收实参对形参的修改不影响实参。 我们现在要解决的就是当调用Swap函数的时候Swap函数内部操作的就是main函数中的a和b直接将 a 和 b 的值交换了。那么就可以使用指针了在main函数中将 a 和 b 的地址传递给Swap函数Swap函数里边通过地址间接的操作main函数中的 a 和 b并达到交换的效果就好了。 3、练习-字符串逆序  #includestdio.h #includestring.h void Reverse(char* str) {char* left str;char* right str strlen(str)-1;while(left right){char temp *left;*left *right;*right temp;left;--right;} }int main() {char str[] hello bit;Reverse(str);return 0; }// 注意如果是在线OJ时必须要考虑循环输入因为每个算法可能有多组测试用例进行验证参考以下main函数写法 int main() {char str[101] {0};while(gets(str)){Reverse(str);printf(%s\n, str);memset(str, 0, sizeof(str)/sizeof(str[0]));}return 0; }
http://www.zqtcl.cn/news/704409/

相关文章:

  • 网站首页psd格式怎么做seo关键词有哪些类型
  • 做部队网站技术vue做购物网站
  • 品牌网站建设服务机构wordpress英文改中文
  • 系统开发费外链优化方法
  • 网站建设公司起名网站构建的友情链接怎么做
  • 网站建设湖南wordpress 缓存时间
  • 木藕设计网站大全福州网络营销推广产品优化
  • 建设银行网上官方网站怎么批量修改wordpress文章内容
  • 多肉建设网站的目的及功能定位app网站开发成本
  • 如何保存网站上的图片不显示图片报纸网站建设
  • 网站营销的流程品牌推广方式有哪些
  • 网站开发的条件美术字设计
  • 网站可以自己做服务器么wordpress架站教程
  • 用ps怎么做网站导航条怎么做部署iis网站
  • 酒店 网站构建怎么创建自己的网址
  • 江苏推广网站建设业务个人工作室网站源码带后台
  • 色一把做最好的网站赤峰微信网站建设
  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板