看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C++ 問題(Question): 上傳給online judge跑程式(c++) 卻第一次看到這種情況: Result: no-output source.cpp:71: warning: 'i' is used uninitialized in this function source.cpp:73: warning: 'answer' may be used uninitialized in this function 我的i 跟 answer都有宣告了說.. 用dev跑都沒有問題 , 可是一上傳online judge就跑不出結果 程式碼(Code):(請善用置底文網頁, 記得排版) 這題是要找出A 使|X1-A|+|X2-A|+|X3-A|...+|Xn-A|要有最小值 int main(){ int num; int array[100]; int i; int j; int count[100]; int stop; int answer[100][100]; while(stop!=1){ for(i=0;i<100000;i++){ if(!cin.eof()){ cin>>num; } else { stop=1;i--;break;} for(j=0;j<num;j++){ cin>>array[j]; }count[i]=num; qsort(array,0,j-1); if(num%2!=0){ //odd answer[i][0]=array[(num-1)/2]; int mid; mid=array[(num-1)/2]; int number; number=compare(array,mid,num); answer[i][1]=number; answer[i][2]=1; } else{ answer[i][0]=array[num/2-1]; int number; number=0; int mid1,mid2; mid1=array[num/2]; mid2=array[num/2-1]; number+=compare(array,mid1,num); number+=compare(array,mid2,num); answer[i][1]=number; answer[i][2]=number+(mid1-mid2-1); } } } for(int w=0;w<i;w++){ for(int k=0;k<3;k++){ cout<<answer[w][k]<<" "; }cout<<endl; } return 0; } 補充說明(Supplement): 第一次在這裡發文 請多包涵@@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.66.184
flylover:我是都會習慣宣告後就初始化..預防一些例外發生.. 05/10 00:09
linotwo:stop 一開始沒給值 05/10 00:50
linotwo:只有 global 變數才會在一開始被歸零 function 中的不會 05/10 00:52
gn123:謝謝一樓跟二樓> < 05/10 04:30
gn123:真的全部給他給值就可以了@@ 一直以為沒差 謝謝~ 05/10 04:40