從鍵盤輸入空字元是什麼意思啊,程式設計實現從鍵盤輸入一個字元,如何判斷字元是數字 大小寫字母 空格還是其他字元?

時間 2021-05-07 20:00:32

1樓:仁沛容

一類時建立之後不再做修改和變動的字串常量;

2樓:匿名使用者

"",中間沒有任何字元,就表示一個空的字串。

3樓:位恨苼

大概有三種方法判斷string為空: 1.str.

lenght == 0 2.str == string.empty 3.

str == "" 我們先來寫一段**(用c#): string str =""; if(str.length == 0) if(str == string.

empty) if(str == "") 這段**經過編譯後,生成的中間語言(msil)**如下: .maxstack 2 .

locals ( string text1) l_0000: ldstr "" l_0005: stloc.

0 第一種方法 l_0006: ldloc.0 l_0007:

callvirt instance int32 string::get_length() l_000c: brtrue.

s l_0019 l_000e: ldstr "eqauls 0" l_0013: call [system.

windows.forms]system.windows.

forms.dialogresult [system.windows.

forms]system.windows.forms.

messagebox::show(string) l_0018: pop l_0019:

ldloc.0 第二種方法 l_001a: ldsfld string [mscorlib]system.

string::empty l_001f: call bool string::

op_equality(string, string) l_0024: b***lse.s l_0031 l_0026:

ldstr "eqauls empty" l_002b: call [system.windows.

forms]system.windows.forms.

dialogresult [system.windows.forms]system.

windows.forms.messagebox::

show(string) l_0030: pop l_0031: ldloc.

0 第三種方法 l_0032: ldstr "" l_0037: call bool string::

op_equality(string, string) l_003c: b***lse.s l_0049 l_003e:

ldstr "eqauls space" l_0043: call [system.windows.

forms]system.windows.forms.

dialogresult [system.windows.forms]system.

windows.forms.messagebox::

show(string) l_0048: pop l_0049: ret 注意l_0007**是獲取的字串的長度,然後比較是否與0相等,這樣是非常快的。

下面兩種方法(注意顏色標記的部分)不同的是,第2種方法load的是string的靜態成員empty,而第三種方法load的是字串常量「」,剩下的比較工作交給string::op_equality(string, string) 進行比較,我們來看一下這個方法的il**: .

method public hidebysig specialname static bool op_equality(string a, string b) cil managed .method public hidebysig static bool equals(string a, string b) cil managed .method public hidebysig instance bool equals(string value) cil managed internalcall 由此可以看出來第2種和第3種方法誰快誰慢,還不一定。

如果變數str付值為empty,則肯定第2種方法快,str == string.empty,兩個變數引用的是同一個靜態變數。 如果變數str付值為"",則肯定第3種方法快,str == "",兩個變數引用的是同一個常量值。

如果變數str付值為其它之,則結果也不一定,要看bool string::equals(string)方法了,但是這個方法不能看到il**的。:-) 總起來說,方法最快的肯定是str.

lenght == 0,建議大家以後比較字串是否為空,一定要用這個方法。

程式設計實現從鍵盤輸入一個字元,如何判斷字元是數字、大小寫字母、空格還是其他字元?

4樓:**愛人醉紅顏

要解答這道題,關鍵是要搞清楚字元有哪些?這些字元的ascii 是什麼?c語言中,每一種型別的字元有固定的ascii範圍!以下是本題的答案:

#include

void main()

祝你學習愉快,(*^__^*) 嘻嘻……

從鍵盤輸入符串,放在字元陣列a中,將字元陣列a中下標值為偶數的元素按從小到大排序。求幫助

c中菜鳥 1 include 2 include 3 include 4 define max 100 5 int main 6 你輸入的 8 char b max 你輸出的10 char temp 11 char p a 12 char q a 1 13 int i 0,j 0 14 printf...

程式設計實現從鍵盤輸入字元ch和字串str,利用字元指

include includevoid fun char str,char ch p str length 0 int main 我都暈死,把c 程式放在c環境執行肯定出錯啦 include include char delch const char str,char ch memset resul...

不限時間,求解c 題目 從鍵盤輸入不大於字元的字串,試分別統計每個英文字母的個數不分大小寫

翔子菊子 只統計英文字母的個數,不區分大小寫,程式如下,輸出見截圖 include int main void else if inputstr i a inputstr i z else std cout number of characters is number std endl return...