(學習日記)裘宗燕 C C 語言中的表示式求值

2022-08-03 06:42:10 字數 580 閱讀 1032

在c++ primer第四版 5.10.3節求值順序也講解的很清楚。

另外,列出我遇到的乙個可以作為例項的問題,也曾經發帖求問過,帖子在上面貼出的文章可以解答下面問題。

primer上有個題,編碼如下:

vector::iterator iter =spvec.begin();   

while (iter!=spvec.end())

這樣可以輸出每個string的內容和長度。 我想將迴圈裡面的表示式簡寫為只有一行的,就這樣試了:

vector::iterator iter =spvec.begin();    

while (iter!=spvec.end())

結果越界了,我這樣改了以後

vector::iterator iter =spvec.begin();    

while (iter!=spvec.end())

得到的結果就與上面第一次相同,也就是簡化的目的到達了。 我的問題是,為什麼那個自增運算不是像第二段**中那樣放到後面來簡化,怎麼樣理解第三段**?   

具體解答見上面的文章。

在C C 語言中使用正規表示式

說起正規表示式 regular expression 也許有的朋友天天都在使用,比如grep vim sed awk,只是可能對這個名詞不大熟悉。正規表示式一般簡寫為regex或者regexp,甚至是re。關於 正規表示式的介紹,有很多的文章,用搜尋引擎查詢就可以找到很不錯的使用說明。但是在c c ...

C語言中的條件表示式

條件運算子是c語言中唯一的三元運算子。例如 x y 0 y y 該語句的意思是 如果y小於0,那麼x y 否則,x y 用if else可以表達為 if y 0 x y else x y 條件表示式的通用形式如下 expression1 expression2 expression3 如果expre...

C語言中的問號表示式。

式a?b c值為 若a為真,則b 若a為假,則c。但有一點是值得注意的,那就是問號表示式的結合性,問號表示式是從右往左的運算方向 尤其是當問號表示式巢狀使用時得注意這個問題,例如 int a 1,b 2,c 3,d 4 printf d a 正確結果是 1 因為先執行的是c因此得到的結果就是1 可以...