因为 void swap (int a , int b ) 的参数是安值传送的
上面的a,和b都是 swap 函数的 局部变量,和main 函数内定义的a,b是完全不同的两个变量。只是名称相同。
需要改为安地址传送 就可以了。
3希望我的回答对你有所帮助,很高兴和你一起讨论和学习C语言。
swap在5860上目前无法开启的,因为需要需要重新编译内核在酷派不提供源码的情况下是无法做到的,以前熊大给的脚步只是伪开启,实际上是没有作用的所以不用想swap这个事情了 查看原帖>>现在规范代码,都是int main()不再是以前的void main();不管怎样main()也是一个函数,既然不是void类型就要有返回值;如果执行到return语句时,该函数结束。所以你主函数中return0;后面一句输出是无效的。在C或者C++ 中都是由主函数开始执行的。由主函数调用swap(int x,int y)然后返回主函数;而go函数是不会执行的。你可以上机执行一下安卓是支持SWAP的,只不过很多手机厂商锁掉了BootLoader,让我们享受不到Linux的Swap其实这也是厂商的策略内存小了,不能swap的话,就得换新手机咯考的是传值和传引用的区别,只把值穿进去了,没穿地址。可以改为swap(int& x,int&y)
或者swap(int x,int y)
函数里面内容不变
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)