flag的標誌判斷應用

2021-10-13 15:33:32 字數 1176 閱讀 6693

利用flag作為變數狀態標識可精簡**,且有助於判斷情況,如判斷素數時的運用,就非常鮮明。

#include

intmain()

if(flag==1)

printf

("%d is not a sushu!\n"

,a);

else

printf

("%d is a sushu!\n"

,a);

}

這裡的flag=0代表為素數,flag=1代表不是素數。

同樣運用到字元陣列中剪下單詞也是不可少的部分。

列如把一句英文拆分成單個單詞換行輸出:

#include

#include

intmain()

else

if(in[i]

==' ')]

}for

(i=0

;i)puts

(in+p[i]);

}

執行結果:

**分析

首先定義flag=0為初始狀態表示正處理到空格處(非單詞)

flag=1則情況相反;

以下**為運用flag作為標誌的重要部分:

for

(i=0

;in[i]

!='\0'

;i++

)else

if(in[i]

==' ')]

}

為什麼在第一遍就把flag=0改變狀態為flag=1;

p[sum]=i為的是記錄單詞開始及單詞的字母個數與以下的輸出**相比較不難發現:

for

(i=0

;i)puts

(in+p[i]

);

puts(in+p[i]),編譯器在輸出時會把整個字串乙個乙個判斷輸出,p[i]這個數字陣列中的 i 為的是記錄整個字串有多少單詞,而至於p[0]p[1]…這種下標則是表示著乙個單詞有多少字母,就對應輸出多少個字元遇到』\0』會自動換行,由此就可以到達剪下一句英文的每個單詞的作用。

標誌暫存器(flag)

8086cpu的標誌暫存器有16位,其中儲存的資訊通常被稱為程式狀態字。其他暫存器時用來存放資料的,整個暫存器具有乙個含義。flag暫存器是按位起作用的,它的每一位都有專門的含義,記錄特定的資訊。8086cpu的flag暫存器的結構 1514 1312 111098 7654 3210 ofdf i...

常見的標誌暫存器FLAG的標誌位

進製標誌cf主要用來反映運算是否產生進製或借位。如果運算結果的最高位產生了乙個進製或借位,那麼,其值為1,否則其值為0。使用該標誌位的情況有 多字 位元組 數的加減運算,無符號數的大小比較運算,移位操作,字 位元組 之間移位,專門改變cf值的指令等。奇偶標誌pf用於反映運算結果中 1 的個數的奇偶性...

RT thread核心物件標誌flag總結

一 核心標誌flag 在核心物件控制塊中有乙個標誌成員flag rt uint8 t flag 這個標誌在不同有核心物件中具有不同的含義。rt thread的核心物件有定時器 執行緒 訊號量 互斥鎖 事件 郵箱 訊息佇列 記憶體堆 裝置 模組,這些核心物件都繼承了核心物件的成員,其中也就包含了核心物...