[問題] 變數放置問題
想請教大家一個變數放置的問題
程式裡陣列變數a當成全域變數沒有問題 dev-c++可以正常執行
但是一旦我將牠放入main function裡面
就會有error發生
錯誤訊息:
AppName: test.exe AppVer: 0.0.0.0 ModName: test.exe
ModVer: 0.0.0.0 Offset: 000019d3
不知道是哪邊出錯
scope範圍應該都是對的啊~
程式如下:(下面這是會產生錯誤的 可自行將註解位置對調即可正確執行)
#include<stdio.h>
#include<stdlib.h>
//int a[1000000];
long long CycLen(long long i){
long long cont = 1;
do{
if (i==1) break;
if (i%2==0){
i=i/2;
cont++;
}
else{
i=3*i+1;
cont++;
}
}while(i!=1);
return cont;
}
int main(void){
int i=1;
int a[1000000];
int j=1;
int max = 0;
while (scanf("%d%d",&i,&j)!=EOF){
if(i<=0||j>=1000000){
break;
}
int minn = i;
int maxn = j;
if(i>j){
int temp;
temp = minn;
minn = maxn;
maxn = temp;
}
max = 0;
for (long long k=minn;k<=maxn;k++){
a[k] = CycLen(k);
}
for (long long k=minn;k<=maxn;k++){
if (a[k]>max){
max = a[k];
}
}
printf("%d %d %d\n",i,j,max);
}
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.10.138
→
08/28 04:53, , 1F
08/28 04:53, 1F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章