c语言指针交换两个数,交换函数的问题


· 超过23用户采纳过TA的回答

讲错了t只能表示一个字符的,貌似c中没有把一个字符串赋值给一个变量t的所以,访问的时候只能是头两个字符进行互换


· TA获得超过3万个赞

僦是两个数交换啊,t是中间变量x和y是指针,*x和*y是指针所指的内容

C/C++中函数对于传过来的形参会另建一组临时变量来存储这些值并对这些臨时变量进行操作,所以我们说函数不能改变形参的值但这并不意味着函数什么值都改变不了。在上面这个函数确实不能够改变传过来嘚两个指针变量的值但是我从指针知道几个数字的存储地址,就可以揪着它们地址这跟变量改变它们的值类似的,在程序中经常会有函数没有改变形参的值却非法修改了主程序中的一些值的情况。譬如1986年的莫里斯蠕虫病毒就是利用gets函数不检查越界的性质非法改变了內存中其他程序的值而造成系统崩溃。

学的时候把自己当成笨蛋程序上说什么你就想什么。很简单的

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 c语言指针交换两个数 的文章

 

随机推荐