- 相關(guān)推薦
c語(yǔ)言小括號的用法有哪些
C語(yǔ)言的小括號里面表示一條語(yǔ)句,返回值是多條語(yǔ)句中最靠右的語(yǔ)句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值。下面小編就為大家介紹c語(yǔ)言小括號的用法。
1、單小括號 ()
、倜罱M。括號中的命令將會(huì )新開(kāi)一個(gè)子shell順序執行,所以括號中的變量不能夠被腳本余下的部分使用。括號中多個(gè)命令之間用分號隔開(kāi),最后一個(gè)命令可以沒(méi)有分號,各命令和括號之間不必有空格。
、诿钐鎿Q。等同于`cmd`,shell掃描一遍命令行,發(fā)現了$(cmd)結構,便將$(cmd)中的cmd執行一次,得到其標準輸出,再將此輸出放到原來(lái)命令。有些shell不支持,如tcsh。
、塾糜诔跏蓟瘮到M。如:array=(a b c d)
2、雙小括號 (( ))
、僬麛禂U展。這種擴展計算是整數型的計算,不支持浮點(diǎn)型。((exp))結構擴展并計算一個(gè)算術(shù)表達式的值,如果表達式的結果為0,那么返回的退出狀態(tài)碼為1,或者 是"假",而一個(gè)非零值的表達式所返回的退出狀態(tài)碼將為0,或者是"true"。若是邏輯判斷,表達式exp為真則為1,假則為0。
、谥灰ㄌ栔械倪\算符、表達式符合C語(yǔ)言運算規則,都可用在$((exp))中,甚至是三目運算符。作不同進(jìn)位(如二進(jìn)制、八進(jìn)制、十六進(jìn)制)運算時(shí),輸出結果全都自動(dòng)轉化成了十進(jìn)制。如:echo $((16#5f)) 結果為95 (16進(jìn)位轉十進(jìn)制)
、蹎渭冇 (( )) 也可重定義變量值,比如 a=5; ((a++)) 可將 $a 重定義為6
、艹S糜谒阈g(shù)運算比較,雙括號中的變量可以不使用$符號前綴。括號內支持多個(gè)表達式用逗號分開(kāi)。 只要括號中的表達式符合C語(yǔ)言運算規則,比如可以直接使用for((i=0;i<5;i++)), 如果不使用雙括號, 則為for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5)), 如果不使用雙括號, 則為if [ $i -lt 5 ]。
下面的程序給多維數組初始化,注意初始化時(shí)花括號和小括號的區別
[cpp] view plain
#include
intmain()
{
inta[2][2]={(1,2),(3,4),};//如果把小括號換成花括號,結果就不一樣了,小括號(1,2)返回2(3,4)返回4,另外兩個(gè)元素默認是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
*/
【c語(yǔ)言小括號的用法有哪些】相關(guān)文章:
c語(yǔ)言小括號的用法03-13
c語(yǔ)言鏈表的用法有哪些01-24
C語(yǔ)言assert的用法有哪些07-17
C語(yǔ)言中sscanf的用法有哪些03-28
c語(yǔ)言中int的用法有哪些03-10
C語(yǔ)言中assert的用法有哪些07-29
c語(yǔ)言中indexof用法有哪些06-27
C語(yǔ)言的特點(diǎn)有哪些04-23