c语言说形参不能改变实参的值,为什么这个赋值语句可以0

cpystr(q1;

printf("

cpystr(char *p1,*q2,char *p2)

{while(*p2++=*p1++);,b),q2);

}

main()

{char *q1=&quot.h>,b[20],q1;

q2=b;%s %s"china"stdio#include&lt 是printf(“%s %s",q1,q2) hllmy // 提问区域可用时间 alog && alog('speed.set', 'c_ask', +new Date); alog.fire && alog.fire("mark"); F.context('answers')['2347766573'] = {uid:"121713269",imId:"75327461747461636b6f724107",passPhoto:"1",id:"2347766573",userName:"tattackor",userNameEnc:"tattackor",user:{sex:"1",iconType:"8",gradeIndex:"12",grAnswerNum:"1193",carefield: [{cid:"1073",cname:"编程语言"},{cid:"202",cname:"理工学科"},{cid:"93",cname:"其他编程语言"},{cid:"74",cname:"电脑/网络"},{cid:"83",cname:"教育/科学"}],isFromTeam:"1",teamName:"百度与你同在",teamId:"25555",isAuth:"0",authTitle:"",isUserAdmin:"1",userAdminLevel:"20",userAdminTitle:"中级芝麻将",userAdminType:"2",isFamous:"0",isMaster:"0",goodRate:"70"},isAnonymous:"0",isCurrentUser:"0",mapUrl:"",refer:"",replyAskNum:"",threadId:"9391066293",hasComment:"0",qid:"512234834",raid:"",recommendCanceled:"0"}; F.context('answers')['2347766573'].encodeUid = '75324069236f25705e794107'; 推荐于2016-10-23 13:41:07 最佳答案 形参和实参的区别

形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。

实参出现在主调函数中,进入被调函数后,实参变量也不能使用。

形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。

1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。

2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。

4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

5.当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。 本回答由电脑网络分类达人 赵康勇推荐 评论

tattackor

采纳率:70% 来自团队:百度与你同在 擅长: 编程语言 理工学科 其他编程语言 电脑/网络 教育/科学 // 高质or满意or特型or推荐答案打点时间 alog && alog('speed.set', 'c_best', +new Date); alog.fire && alog.fire("mark"); // 首屏时间打点 void function(e,t){for(var n=t.getElementsByTagName("img"),a=+new Date,i=[],o=function(){this.removeEventListener&&this.removeEventListener("load",o,!1),i.push({img:this,time:+new Date})},s=0;s< n.length;s++)!function(){var e=n[s];e.addEventListener?!e.complete&&e.addEventListener("load",o,!1):e.attachEvent&&e.attachEvent("onreadystatechange",function(){"complete"==e.readyState&&o.call(e,o)})}();alog("speed.set",{fsItems:i,fs:a})}(window,document); 其他回答 F.context('answers')['1293557927'] = {uid:"366858982",imId:"e6d2323030385f7368656e616fdd15",isBest:"1",passPhoto:"1",id:"1293557927",userName:"2008_shenao",userNameEnc:"2008_shenao",user:{sex:"1",iconType:"6",gradeIndex:"6",grAnswerNum:"96",carefield: [{cid:"866",cname:"C/C++"},{cid:"869",cname:"C#/.NET"},{cid:"870",cname:"JAVA相关"},{cid:"1249",cname:"python"},{cid:"1246",cname:"PHP"}],isFromTeam:"1",teamName:"",teamId:"48165",isAuth:"0",authTitle:"",isUserAdmin:"0",userAdminLevel:"",userAdminTitle:"",userAdminType:"",isFamous:"0",isMaster:"0",goodRate:"57",applyExcType:"0"},isAnonymous:"0",isCurrentUser:"0",mapUrl:"",refer:"",replyAskNum:"",threadId:"5174231709",hasComment:"0",qid:"512234834",raid:"",recommendCanceled:"0"}; F.context('answers')['1293557927']['c_timestamp'] = '1356919354'; F.context('answers')['1293557927'].encodeUid = 'e6d24069236f25705e79dd15'; 所以最终b[]就有了新值china,指向的是地址;

t=p1;

你看看这个,char p2)

{

char t;

void cpystr(char p1;/,p1=e,q2),获取可以帮你理解这个问题你这个参数用的都是地址(指针)在传值,b='

q2=b;//,当然可以,b);交换之后;;c'但是事实是他们没有交换值

}

void main()

{

char q1=',q2;%c %c"

p1=p2,p2=c:

#include &quot。首先p2指的是b[]的首地址.h"

printf(",然后传入的两个参数都是指针;

cpystr(q1,q1=e;stdio;

p2=t,q2=b=e,q1,最后将p1指向的地址里的值依次赋给p2指向的地址里的值;e'按理说此时b=c;此时,q1=c;/

c语言函数实参是赋值语句,c语言说形参不能改变实参的值,为什么这个赋值语句可以...相关推荐

  1. C语言 函数缺省参数 - C语言零基础入门教程

    目录 一.函数简介 1.函数声明 2.函数定义 3.函数调用 4.函数形参和实参 二.函数缺省参数 1.函数全缺省参数 2.函数半缺省参数 三.注意事项 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...

  2. C语言 函数声明和调用 - C语言零基础入门教程

    目录 一.简介 二.函数声明和定义 1.函数声明:不需要实现这个函数的功能 2.函数定义:必须实现这个函数的功能 三.函数调用 四.函数形参和实参 五.猜你喜欢 零基础 Python 学习路线推荐 : ...

  3. c语言 函数多个参数,C语言函数可变参数

    C语言函数可变参数教程 可变参数的函数必须至少有一个强制参数,可选参数的类型可以变化.可选参数的数量由强制参数的值决定,或由用来定义可选参数列表的特殊值决定. 对于每一个强制参数来说,函数头部都会显示 ...

  4. C语言 函数不定长参数 - C语言零基础入门教程

    目录 一.前言 二.函数不定长参数简介 1.va_start 2.va_arg 3.va_end 三.自定义不定长参数的函数 1.va_start/va_arg/va_end 案例一 2.va_sta ...

  5. c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论

    取地址符&做函数形参? C语言强大且危险 引入 这个问题花去了整整一天的研究. 先看一段严蔚敏的<数据结构>中栈的例程: 这里面的&S第一遍看的时候想当然的认为是取了SqS ...

  6. C语言函数一章教学,c语言中函数教学的探讨

    摘要:C程序是有函数组成的,使用函数可以提高程序设计的效率,因此学习好函数这章对C语言程序的理解和掌握是非常重要的,根据多年教学实践,以案例为引导教学起到了比较好的效果. 关键词:函数教学:函数定义: ...

  7. c语言函数 t啥意思,C语言函数大全(t开头)

    函数名: tell 功 能: 取文件指针的当前位置 用 法: long tell(int handle); 程序例: #include #include #include #include int m ...

  8. c语言 函数的参数传递示例_C语言中带有示例的remove()函数

    c语言 函数的参数传递示例 C语言中的remove()函数 (remove() function in C) The remove() function is defined in the <s ...

  9. c语言函数大全语法下载,C语言函数大全(语法).doc

    C语言函数大全(语法) 函数名: abort功 能: 异常终止一个进程用 法: void abort(void);程序例:#include #include int main(void) { prin ...

最新文章

  1. 软件性能测试主要看什么指标
  2. HDU 4031 Attack (线段树)
  3. Eclipse中新建Maven项目没有java以及test目录
  4. .NET Core 如何调试 CPU 爆高?
  5. python变量名称的规定_Python 趣闻:如何获得变量的名字?
  6. oracle升级后出现 ora-02055,分布式更新失败 0ra-02055错误 请各位指点(在线等待)...
  7. 【Flink】Flink 清理过期 Checkpoint 目录的正确姿势
  8. 认识activiti与flowable的区别---工作流工作笔记001
  9. 用yeoman搭建react画廊项目笔记
  10. 解决Agent admitted failure to sign using the kye with ssh
  11. MATLAB生成数组
  12. adb shell 执行sh脚本_Shell命令脚本初步认识,Shell脚本入门
  13. 生成26个大小写字母和0-9的六位随机验证码(python3.X)
  14. 关键词组合工具_关键词的优化方法及搜索工具,亚马逊关键词处理
  15. acr122 java,ACR122U中文开发文档
  16. Contacts Journal CRM 1.7 Mac 破解版 Mac上强大的客户关系管理软件
  17. linux ps1详解,Linux-玩转系统提示符PS1
  18. kafka web页面监控KafkaOffsetMonitor
  19. 探究正雅S8-SGTB与S8-SGHB
  20. 哈哈!12万行代码堆出来个「蔡徐坤」

热门文章

  1. 大型网站架构之总结:秒杀案例与小结
  2. 如何为服务器选择合适的CPU ?
  3. Android 2-10 RecyclerView
  4. linux ftok()函数
  5. Simulink小问题集锦
  6. init java中什么用法_使用tkinter在GUI中__init__
  7. Boosting算法原理(Adaboost篇)
  8. NServiceBus消息重播
  9. 微机原理--第三章(6)移位指令
  10. Pytorch基础知识(9)单目标分割