[問題] C++輸出的問題
遇到的問題: (題意請描述清楚)
printf("Final data 13 is at: %d\n",binsearch(dest,0,15,13));
printf("Final data 20 is at: %d\n",binsearch(dest,0,15,20));
這兩段輸出
輸出的結果都是先輸出binsearch再輸出Final data XX is at
實在是不知道為什麼?
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Microsoft Vistual C++ 2008 Express Edition
有問題的code: (請善用置底文標色功能)
// seaway_exam.cpp : 定義主控台應用程式的進入點。
//
#include "stdafx.h"
#include <stdlib.h>
int binsearch(int dest[],int ib,int ie,int data);
void main()
{
int a=0;
int dest[]={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33};
printf("Final data 13 is at: %d\n",binsearch(dest,0,15,13));
printf("Final data 20 is at: %d\n",binsearch(dest,0,15,20));
scanf("%d",&a);
}
int binsearch(int dest[],int ib,int ie,int data)
{
printf("search:ib=%d ie=%d \n",ib,ie);
int ii;
if(ib > ie)
{ ii=-1;}
else
{
ii=(ib+ie)/2;
if(dest[ii]>data)
{
ii=binsearch(dest,ib,ii-1,data);
}
else if(dest[ii] < data)
{
ii=binsearch(dest,ii+1,ie,data);
}
}
printf("search ib=%d,ie=%d return:%d\n",ib,ie,ii);
return ii;
}
補充說明:
程式的輸出結果如右:http://0rz.tw/ZK5w5
想請問
printf("Final data 13 is at: %d\n",binsearch(dest,0,15,13));
printf("Final data 20 is at: %d\n",binsearch(dest,0,15,20));
這兩段輸出
輸出的結果都是先輸出binsearch再輸出Final data XX is at XX
明明就Final data 13 is at排前面?
想不通為什麼?感謝各位啦!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.226.53
推
02/08 23:09, , 1F
02/08 23:09, 1F
推
02/09 11:02, , 2F
02/09 11:02, 2F
→
02/09 19:29, , 3F
02/09 19:29, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章