雙圓括號結構

2021-09-06 09:36:35 字數 999 閱讀 6252

雙圓括號結構

與let命令很相似, ((...))結構允許算術擴充套件和賦值. 舉個簡單的例子, a=$(( 5 + 3 )), 將把變數"a"設為"5 + 3", 或者8. 然而, 雙圓括號結構也被認為是在bash中使用c語言風格變數操作的一種處理機制.

#!/bin/bash

(( a = 23 )) # c語言風格的變數賦值,"="兩邊允許有空格.

echo "a (initial value) = $a"

(( a++ )) # c語言風格的後置自加.

echo "a (after a++) = $a"

(( a-- )) # c語言風格的後置自減.

echo "a (after a--) = $a"

(( ++a )) # c語言風格的前置自加.

echo "a (after ++a) = $a"

(( --a )) # c語言風格的前置自減.

echo "a (after --a) = $a"

(( t = a<45?7:11 )) # c語言風格的三元操作.

echo "if a < 45, then t = 7, else t = 11."

echo "t = $t "

exit 0

結果:

root@ubuntu:~/resource/0510# ./test1 

a (initial value) = 23

a (after a++) = 24

a (after a--) = 23

a (after ++a) = 24

a (after --a) = 23

if a < 45, then t = 7, else t = 11.

t = 7

root@ubuntu:~/resource/0510#

待續。。。。。

正規表示式圓括號和非捕獲性圓括號

x 捕獲性圓括號 匹配x,並捕獲匹配項。x 非捕獲性圓括號 匹配x,但是不捕獲匹配項。正規表示式一般情況下的匹配道德字串稱為分組0,按照匹配項中圓括號出現的順序會獲得分組1,分組2 等等 例如 console.log 0 9 exec 3 4 console.log 0 9 exec 3 4 con...

vector中的圓括號和花括號

1.圓括號和花括號 include include include using namespace std int main vectorv int2 10 cout vector v int endl for auto i v int cout i endl cout endl cout vect...

C 中的圓括號過載

過載是c 靜態多型性的實現,不僅可以對函式進行過載,還可以對運算子進行過載,其中對圓括號 的過載容易引起混淆 下面舉乙個例子,定義乙個box類,有x,y,z三個資料成員表示其長寬高,定義showvolume 函式顯示體積。include using namespace std class box i...