1樓:風雷九州
將樓主的**一下就知道了
第一層t=min2(w 第二層t=w 上面表示式的計算順序是 1、先計算w 2、再計算(w 3、((w 只寫這三層吧,執行順序並不是想象的那樣。巨集不是自己加括號,需要我們自己來加。 修改一下 #define min2(x,y) (x #define min4(w,x,y,z) min2(min2(w,x),min2(y,z)) 這個樣子的話,就是 t=min2((w t=(w 2樓:山水阿銳 您好,是這樣的: #include void sort(int *,int); //函式宣告時型別保持一致 int main() ,i,n; printf("輸入要輸入資料的個數:\n"); scanf("%d",&n); printf("輸入陣列中元素:\n"); for(i=0;i scanf("%d",&a[i]); printf("輸出排列好的陣列:\n"); sort (a,n); for(i=0;i printf("%5d",a[i]); printf("\n"); }void sort(int a,int n)}}}呼叫時不用加入函式返回值型別,順便除錯了一下程式,你是打算倒序排列後輸出結果,在sort函式裡面if 判斷語句成立時應該加大括號,因為下面的3句都是if 需要執行的,還有for 也要加大括號,只有當for 、if 的語句體只有一句時才能省略大括號。 樓上兩位說的對,不過你們估計沒有具體的編譯過,其實還有兩個小問題 1.x b 2 a sqrt b b 4 a c 2 a y b 2 a sqrt b b 4 a c 2 a 這兩句用到了sqrt 函式,它的原型為double sqrt double x 即輸入輸出都是雙精度,所以x,y,a,b,... 樓主你好,你的問題主要出在 a int a和printf d n a 這兩句。因為在前面你已經宣告a為float型別了,雖然進行a int a強制型別轉換之後得到了一個整數,但這並沒有改變a的資料型別,所以不能使用 d輸出,建議宣告一個int變數,將 int a賦值給它。a int a 下面是對這句... 選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...c語言程式糾錯
C語言基本問題糾錯
C語言問題,C語言問題C語言問題