回 帖 发 新 帖 刷新版面

主题:为什么只出现两次不交换

#include<iostream>

using namespace std;
//template<typename T>T 
int main(){
    int cha[5]={55,100,67,78,45};
    for(int j=0;j<4;j++)
    {
        cout<<cha[j]<<endl;
    }
    for(int i=4;i>0;i--){
 
     if(cha[i]>cha[i--]) 
     {
     int temp;
     temp=cha[i--];
     cha[i--]=cha[i];
     cha[i]=temp;
     i--;
     
     cout<<cha[i--]<<cha[i]<<endl; }
     
    else cout<<"不交换"<<endl;
 
 
 }


return 0;
}

回复列表 (共1个回复)

沙发

cha[i--];
没有这么用法的。
i被你自减到不知道哪里去了。
char[i-1]才是正确的用法。

我来回复

您尚未登录,请登录后再回复。点此登录或注册