我得到運行時錯誤,這是什麼故障? 如果刪除(Px [size-1] .ele> a)錯誤消失! 我嘗試使用,而只有當我是零,仍然我得到了錯誤!這段代碼有什麼問題?我得到分段錯誤
#include <iostream>
using namespace std;
#define f(i,n) for(i=0;i<n;i++)
#define f1(i,n) for(i=1;i<=n;i++)
#define ll long long
#define ld long double
#define MOD 1000000007
typedef struct{
int ele;
int pos;
int sum;
} vj;
int main()
{
int n,size,sum,i,a;
vj Px[1000000];
cin>>n;
size=sum=0;
f(i,n){
cin>>a;
sum+=a;
while(size){
if(Px[size-1].ele>a)
break;
size--;
}
Px[size].ele=a;
Px[size].pos=i+1;
Px[size].sum=sum;
size++;
}
//sum=P[0].ele*P[0].pos-P[0].sum;
//f(i,size-1)
// sum+=(P[i+1].ele*(P[i+1].pos-P[i].pos))-(P[i+1].sum-P[i].sum);
//cout<<size<<endl;
return 0;
}
什麼通過調試程序步進程序告訴你? – Angew 2014-10-09 12:35:55
爲什麼你使用那些醜陋的模糊宏? – Deduplicator 2014-10-09 12:36:20
12M +局部變量?難怪事情破裂。 – Deduplicator 2014-10-09 12:37:47