今天在做提的時候,遇到了一件奇怪的事,本是一件簡單的題;
原題大致意思就是二分查詢某個值,然後輸出比較次數
下面看看我的**:
#include
#include
int data[
1000];
int k;
int binarysearch
(int l,int r,int aim)
int main()
int aim;
//要查詢的目標數
scanf
("%d"
,&aim)
;printf
("%d\n%d\n"
,binarysearch(0
,n-1
,aim)
,k);
printf
("%d"
,k);
}
測試資料
11513
1921
3756
6475
8088
92100
結果
你只用看兩個k的結果不一樣就行了,因為這就能說明問題;
原因
C語言 printf函式執行順序
printf函式是從左往右讀取,然後將先讀取放到棧底,最後讀取的放在棧頂,處理時候是從棧頂開始的,所有我們看見的結果是,從右邊開始處理的。我們先看下這段 c語言經典面試題 include intmain int p arr p 100 printf d d n p p return0 輸出結果 13...
C語言 printf的執行順序
標籤 c語言 printf 執行順序 by 小威威 include int main void 輸出結果是30而不是31.首先,我們能夠肯定的是輸出的是第乙個引數,但是為什麼不是31呢?難道受到後面引數的影響?其實問題出在我們對printf的執行順序不了解。printf是從右往左執行的,即是prin...
函式printf的運算順序
printf的運算順序是從右到左,還是從左到右,還是其他的。要看具體的編譯器而定,比如下面的乙個例子 int i 5 printf d,d n i,i printf d,d n i,i printf d,d n i,i 在vc中的執行結果是 7,68,7 9,9 說明執行順序是從右到左的。而在sou...