當前位置:才華齋>計算機>C語言>

c語言小括號的用法

C語言 閱讀(9.46K)

C語言的小括號裡面表示一條語句,返回值是多條語句中最靠右的語句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值。下面小編就為大家介紹c語言小括號的用法。

c語言小括號的用法

c語言小括號的用法如下:

1、單小括號 ()

①命令組。括號中的命令將會新開一個子shell順序執行,所以括號中的變數不能夠被指令碼餘下的部分使用。括號中多個命令之間用分號隔開,最後一個命令可以沒有分號,各命令和括號之間不必有空格。

②命令替換。等同於`cmd`,shell掃描一遍命令列,發現了$(cmd)結構,便將$(cmd)中的cmd執行一次,得到其標準輸出,再將此輸出放到原來命令。有些shell不支援,如tcsh。

③用於初始化陣列。如:array=(a b c d)

2、雙小括號 (( ))

①整數擴充套件。這種擴充套件計算是整數型的計算,不支援浮點型。((exp))結構擴充套件並計算一個算術表示式的值,如果表示式的結果為0,那麼返回的退出狀態碼為1,或者 是"假",而一個非零值的表示式所返回的`退出狀態碼將為0,或者是"true"。若是邏輯判斷,表示式exp為真則為1,假則為0。

②只要括號中的運算子、表示式符合C語言運算規則,都可用在$((exp))中,甚至是三目運算子。作不同進位(如二進位制、八進位制、十六進位制)運算時,輸出結果全都自動轉化成了十進位制。如:echo $((16#5f)) 結果為95 (16進位轉十進位制)

③單純用 (( )) 也可重定義變數值,比如 a=5; ((a++)) 可將 $a 重定義為6

④常用於算術運算比較,雙括號中的變數可以不使用$符號字首。括號內支援多個表示式用逗號分開。 只要括號中的表示式符合C語言運算規則,比如可以直接使用for((i=0;i<5;i++)), 如果不使用雙括號, 則為for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5)), 如果不使用雙括號, 則為if [ $i -lt 5 ]。

下面的程式給多維陣列初始化,注意初始化時花括號和小括號的區別

[cpp] view plain

#include

intmain()

{

inta[2][2]={(1,2),(3,4),};//如果把小括號換成花括號,結果就不一樣了,小括號(1,2)返回2(3,4)返回4,另外兩個元素預設是0

inti,j;

for(i=0;i<2;i++)

{

for(j=0;j<2;j++)

printf("%d",a[i][j]);

printf("");

}

int*p=a[0];

printf("%d",p[0]);

return0;

}

/*

執行結果:

24

00

2

*/