有没有大佬能解释一下为什么仅仅是一个动态内存分配就会有问题?
查看原帖
有没有大佬能解释一下为什么仅仅是一个动态内存分配就会有问题?
552368
supersun0331楼主2021/8/11 17:43

错误代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int* number=new int(n);
    for(int i=0;i<n;i++) 
        cin>>number[i];
    int cont=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<i;j++){
            if(number[j]>number[i]) cont++;
        }
    }
    cout<<cont;
    return 0;
}

正确代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int number[n];

    for(int i=0;i<n;i++) 
        cin>>number[i];
    int cont=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<i;j++){
            if(number[j]>number[i]) cont++;
        }
    }
    cout<<cont;
    return 0;
}

2021/8/11 17:43
加载中...