使用VC6++,编写函数调用swap size,用指针实现a,b值的交换出错了。不知道错在哪儿了,请高手指点,谢谢

如何使用Visual_C++6[1].0_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
11页1下载券42页1下载券74页免费74页2下载券42页1下载券43页免费18页2下载券74页1下载券42页免费7页1下载券
喜欢此文档的还喜欢822页7下载券
如何使用Visual_C++6[1].0|V​C.的​使​用
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢IT通信互联网2014校招笔试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
35页免费6页免费27页4下载券36页免费4页免费1页免费3页免费3页免费1页免费1页免费
喜欢此文档的还喜欢9页免费36页免费2页免费3页免费8页1下载券
IT通信互联网2014校招笔试题|I​T​通​信​互​联​网04​校​招​笔​试​题
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢常规a和b的交换 交换出不寻常
[问题点数:100分,结帖人SearchLife]
常规a和b的交换 交换出不寻常
[问题点数:100分,结帖人SearchLife]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2008年9月 C/C++大版内专家分月排行榜第二2008年4月 C/C++大版内专家分月排行榜第二2008年2月 C/C++大版内专家分月排行榜第二2007年7月 C/C++大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第三2009年1月 C/C++大版内专家分月排行榜第三2008年10月 C/C++大版内专家分月排行榜第三2008年5月 C/C++大版内专家分月排行榜第三2007年6月 C/C++大版内专家分月排行榜第三2007年5月 C/C++大版内专家分月排行榜第三
2008年9月 C/C++大版内专家分月排行榜第二2008年4月 C/C++大版内专家分月排行榜第二2008年2月 C/C++大版内专家分月排行榜第二2007年7月 C/C++大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第三2009年1月 C/C++大版内专家分月排行榜第三2008年10月 C/C++大版内专家分月排行榜第三2008年5月 C/C++大版内专家分月排行榜第三2007年6月 C/C++大版内专家分月排行榜第三2007年5月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。第8章 地址和指针_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
15页免费67页免费79页免费27页免费19页免费19页免费20页免费14页免费9页免费9页免费
喜欢此文档的还喜欢43页免费3页免费3页免费4页免费99页7下载券
第8章 地址和指针|地​址​和​指​针
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢shaker 排序 这个swap 为啥不交换数值_百度知道
shaker 排序 这个swap 为啥不交换数值
int main(){ int a[20],n,i,shift,left, void swap(int& a,int& b); cout&&&请输出n&&& cin&&n; cout&&&请输入&&&n&&&个数&&& for(i=0;i&n;i++) cin&&a[i];
left = 0; right = n-1;
while(left&right) {
for(i=i&i++)
if(a[i]&a[i+1]){
swap(a[i],a[i+1]);
for(i=i&i--)
if(a[i]&a[i-1]){
swap(a[i],a[i-1]);
for(i=0;i&n;i++)
cout&&a[i]&&& &; return 0;}void swap(int& a,int& b){ temp = a =
出现上面的问题,主要是因为跟c++标准库函数里面的swap函数冲突了, 在Visual c++的STL中有swap函数:template&class Type&void swap(
Type& _Left,//The first object to have its elements exchanged.
Type& _Right//The second object to have its elements exchanged.);解决方案主要有(由于篇幅有限,仅给出简单示例):1.更改自定义函数名:#include &iostream&int main(){
void swapa(int &,int &); int i=3,j=5; swapa(i,j); cout&&&i=&&&i&&& &&&&j=&&&j&& return 0;}void swapa(int &a,int &b){&br& temp=a;&br& a=b;&br& b=&br&}2.不使用命名空间std:#include &iostream&int main(){ void swap(int &,int &); int i=3,j=5; swap(i,j); std::cout&&&i=&&&i&&& &&&&j=&&&j&&std:: return 0;}void swap(int &a,int &b){&br& temp=a;&br& a=b;&br& b=&br&}3.直接调用STL函数:#include &iostream&int main(){
int i=3,j=5; swap(i,j); cout&&&i=&&&i&&& &&&&j=&&&j&& return 0;} 4.去除函数声明(即把函数的定义写在函数的调用的前面):#include&iostream&void swap(int &a,int &b){ int temp=a; a=b; b=}int main(){ int a=11,b=5; swap(a,b); cout&&a&&& &&&b&& return 0;}5.不使用STL#include &iostream.h&int main(){
void swap(int &,int &); int i=3,j=5; swap(i,j); cout&&&i=&&&i&&& &&&&j=&&&j&& return 0;}void swap(int &a,int &b){&br& temp=a;&br& a=b;&br& b=&br&}
其他类似问题
按默认排序
其他2条回答
换个名字,你这代码我在gcc里编译没问题,可以排序,不过拿到vc6里就出现你说的问题了,c++标准库里有一个同名的函数swap,所以怀疑是某个地方发生冲突,换了个名字果然就好了#include &iostream&int main(){int a[20],n,i,shift,left,void _swap(int& a,int& b);cout&&&请输出n&&&cin&&n;cout&&&请输入&&&n&&&个数&&&for(i=0;i&n;i++)cin&&a[i];left = 0;right = n-1;while(left&right){for(i=i&i++)if(a[i]&a[i+1]){_swap(a[i],a[i+1]);shift =}right =for(i=i&i--)if(a[i]&a[i-1]){_swap(a[i],a[i-1]);shift =}left =}for(i=0;i&n;i++)cout&&a[i]&&& &;return 0;}void _swap(int& a,int& b){temp =a =b =}
vc库里有同样的swap函数,加个前缀就可以 比如
函数是没问题的
swap的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 sketch swap 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信