如何智慧型地在每個數字中間加乙個逗號

2021-10-23 15:06:13 字數 1151 閱讀 9493

頭尾部都沒有』,'符號,用c語言實現。

我感覺用if感覺太複雜了,有沒有更簡單的?

例如:輸入:

a[6]=

輸出:1,2,3,4,5,6

下面是"穀雨同學"的回答,挺值得回味的:

#include

intmain

(void

), i;

for(i =

0; i <

6; i++

)return0;

}

上面回答中,利用了字元指標的偏移。機智地去除了第乙個,符號。

當i「等於」0時:

printf

(",%d"

+!i, a[i]);

=>

printf

(",%d"+!

0, a[0]

);=>

printf

(",%d"+1

, a[0]

);=>

printf

("%d"

, a[0]

);

當i「不等於」0時:

printf

(",%d"

+!i, a[i]);

=>

printf

(",%d"+!

2, a[2]

);// 這裡以i = 2為例。

=>

printf

(",%d"+0

, a[2]

);=>

printf

(",%d"

, a[2]

);

重點是 「,%d」+!i 這個表示式。",%d" 是乙個字串,它可以轉換為指向其首元素的指標,然後就可以做加減法。

!i 這個式子只有當 i 為零的時候得 1,其餘時候得 0。

當 i 為零的時候,printf 的第乙個引數就變成 「,%d」+1。這裡首先執行從字串到指標的轉換,然後再做指標的+1運算,相當於指標向後移了一位,即指向 「%d」(這裡需要一點基礎才能看懂)。

所以 ,當 i 為零的時候,執行的輸出是 printf("%d",a[i]); 而 i 非零的時候,執行的輸出是 printf(",%d",a[i]);。這就實現了題主的要求。

在查詢中的每個表後面都加乙個nolock是否合適?

背景 目前參與的乙個專案,我發現乙個問題,就是大家在寫查詢時,為了效能,往往會在表後面加乙個nolock,或者是with nolock 其目的就是查詢是不鎖定表,從而達到提高查詢速度的目的。這點可能很多朋友在做開發時都會遇到,不過如果說系統中的每個查詢語句中的表都加上nolock,您是否同意這麼做呢...

判斷乙個數字是否在公升序矩陣中

原題 該題目要求輸入二維向量形式的矩陣matrix以及數字target,要求判斷target是否在該矩陣裡。本題的特點在於矩陣為公升序,即從左到右,從上到下都是遞增的。利用這一特點,我們就可以跳過繁瑣的遍歷過程,使用簡便的方法來查詢到該元素。假設我們從開頭開始搜尋,那麼如果該元素小於目標,那就只需要...

C 在楊氏矩陣中查詢乙個數字

什麼是楊氏矩陣?如果矩陣每一行從左到右是遞增的,每一列從上到下也是遞增的,這樣的矩陣就是楊氏矩陣。如下圖所示 題目 有乙個二維陣列.陣列的每行從左到右是遞增的,每列從上到下是遞增的.在這樣的陣列中查詢乙個數字是否存在。思緒 由於楊氏矩陣從左到右 從上到下都是逐漸遞增的,假如找13這個數,我們先從圖的...