1樓:匿名使用者
兩種寫法結果一致,之所以寫成第一個**,是」可閱讀性「更好,通過**很容易明白在做什麼,而第二個ch-32,32**來的?為什麼是32?非編寫者閱讀程式會很痛苦。
2樓:匿名使用者
因為比較清楚,讓閱讀**的人一看就知道這行**的目的是執行大小寫轉化
3樓:王匯西
以後寫程式多向此學習,類似情況要多采用全字元處理,這樣可以避免資料型別轉換出現問題。
不知道你的ch是什麼,你自己多想一下,最好自己試一試,就會發現。
-32一般也不會出錯,用-'a'+'a'更顯技術含量,呵呵。
4樓:紅色縹緲
ch=ch-'a'+'a'
和ch=ch-32等效啊
c語言中 ch=a 那麼ch=(ch+32)的含義是
5樓:義軍網路
你好!應該是將ch1,ch2,的assic碼值減小32.可以認為是將小些字母轉換為大寫字母。
最好多貼幾行相關的語句,否則也不好判斷
c語言中大小寫字母轉換為什麼不用寫scanf("%c",ch)?
6樓:呼延軒
#include //標頭檔案寫一遍就好-_-!
int main()
7樓:英雄志
你也可以用scanf的,都是從鍵盤接收一個字元給變數ch,只不過你的scanf語句寫錯了,少了取地址符&,應該用scanf("%c",&ch)。
c語言中,char ch='a';ch!=(ch>='a'&&ch<='z'?ch:(ch+32)),ch!=是什麼意思啊?
8樓:匿名使用者
ch>='a'&&ch<='z'就是說ch是個英文字母,連起來就是說如果ch是字母,則保持不變,否則ascii值加上32,你看下ascii碼錶就知道了,比如字元'0',十進位制是48,加上32就是80也就是字元'p'
9樓:御含靈
如果是你寫的那句話
ch!=(ch>='a'&&ch<='z'?ch:(ch+32))這個就是一個邏輯表示式 就是判斷ch是不是在['a','z']這個範圍之外(可列印字元?)
在這個範圍以內(ch>='a'&&ch<='z'?ch:(ch+32))還是返回ch ch!=ch為假。
ch!=(ch>='a'&&ch<='z'?ch:(ch+32))和這句話是等價的 ch<'a'||ch>'z'
懷疑是不是某人寫錯了 因為沒有賦值語句啊,就是一個邏輯表示式參考下面的asc碼錶
10樓:zi皿
!=是不等於的意思 !的意思是否定
c語言中關於大小寫字母轉換
11樓:訾歡宰書萱
實現任意大小寫字母轉換。**如下:
#include
void main()
else
if( x>='a' && x<='z')printf("%c\n",x);
}小寫字母轉換成大寫字母的**如下:
#include
void main()
3大寫字母轉換成小寫字母的**如下:
#include
void main()
c語言大小寫轉換
12樓:匿名使用者
#include
main()
將if-if改為if-else if
13樓:
樓主輸入小a後執行ch=ch-32,把小a轉換為了大a,而下面的if語句又把大a轉換為了小a,樓主應該在第二個if前加一個else,這樣就可以實現大小寫轉換了!
14樓:匿名使用者
因為你第一個if 把小寫a轉為大寫a
但第二個if又把a轉化為a了。
所以看到結果是一樣,你除錯一下就知道是怎麼樣了。
把if改為if else就可以解決問題了。
c語言中, 英文字母的大小寫的轉換,請給我詳細講解一下,(以下下面這個為例,這個為何要先減去'a'
15樓:農民工談三農
雖然我不是很明白你具體想說什麼,但是我可以給你解釋一下c語言中大小寫轉換主要就是利用ascii**中,大小寫相差32的原理,其程式為:
#include
int main()
你明白沒有呢?沒有的話可以繼續問我哈,很高興為你解答哦
16樓:匿名使用者
你的說法是對的。ascii碼錶中大小寫字母的值確實相差了32,但這是在你十分清楚兩者之間的差值的前提下才能寫出來,而用 c = c - 'a' + 'a' 則可以不用記下這個差值就可以實現轉換了。
我覺得你沒有必要去糾結這個問題,這裡更多隻是說明一種方法而已。所謂條條大道通羅馬吧。程式設計沒有一成不變的東西。
17樓:匿名使用者
用c -= 32;當然是可以的,但是至少我寫的時候都是c = c - 'a' + 'a' 這樣的,因為懶得去記ascii的值,這樣寫只需要記得大寫字母在小寫字母前面就行了
18樓:
你說的沒錯。
但是一般**裡會用'a'-'a'來表示大小寫asc的差值,這種表達方式比較直觀;另外,如果忘記具體的asc值,仍然可以用這種方式算出大小寫asc的差值。
求問個c語言問題:如圖,為什麼+32後可以大小寫轉換
19樓:匿名使用者
輸出的是assic碼, 而assic編碼中, 大小寫字母之差是32,
20樓:萵苣世家
十進位制 十六進位制 符號 十進位制 十六進位制 符號
0 0h (null) 64 40h @
1 1h 65 41h a
2 2h 66 42h b
3 3h 67 43h c
4 4h 68 44h d
5 5h 69 45h e
6 6h 70 46h f
7 7h beep 71 47h g
8 8h 72 48h h
9 9h '\t' 73 49h i
10 ah '\n' 74 4ah j
11 bh '\v' 75 4bh k
12 ch '\f' 76 4ch l
13 dh '\r' 77 4dh m
14 eh 78 4eh n
15 fh 79 4fh o
16 10h 80 50h p
17 11h 81 51h q
18 12h 82 52h r
19 13h 83 53h s
20 14h 84 54h t
21 15h 85 55h u
22 16h 86 56h v
23 17h 87 57h w
24 18h 88 58h x
25 19h 89 59h y
26 1ah (ctrl-z) 90 5ah z
27 1bh esc 91 5bh [
28 1ch 92 5ch \
29 1dh 93 5dh ]
30 1eh 94 5eh ^
31 1fh 95 5fh _
32 20h 空格符 96 60h `
33 21h ! 97 61h a
34 22h " 98 62h b
35 23h # 99 63h c
36 24h $ 100 64h d
37 25h % 101 65h e
38 26h & 102 66h f
39 27h ' 103 67h g
40 28h ( 104 68h h
41 29h ) 105 69h i
42 2ah * 106 6ah j
43 2bh + 107 6bh k
44 2ch , 108 6ch l
45 2dh - 109 6dh m
46 2eh . 110 6eh n
47 2fh / 111 6fh o
48 30h 0 112 70h p
49 31h 1 113 71h q
50 32h 2 114 72h r
51 33h 3 115 73h s
52 34h 4 116 74h t
53 35h 5 117 75h u
54 36h 6 118 76h v
55 37h 7 119 77h w
56 38h 8 120 78h x
57 39h 9 121 79h y
58 3ah : 122 7ah z
59 3bh ; 123 7bh
62 3eh > 126 7eh ~
63 3fh ? 127 7fh
你可以看到assic表上相對應的大小寫字母的編號是差32的。
21樓:z的
在c語言的ascii碼錶中大寫字母和小寫字母的差是32
22樓:匿名使用者
沒聽說過ascii碼嗎?可以查查ascii碼。
c語言中關於佔位的問題,C語言關於佔位符 問題
整形變數佔位符就是用 d lf是double的佔位符 float型別變數也可以用佔位符 f,如果用 d,那列印出來的就是整形的 i最好不用 字元 輸入資料 變元型別 d 十進位制整數 int i 整數 int 該整數可以是以0開頭的八進位制數,也可以是以0x 0x開頭的十六進位制數 o 八進位制數 ...
c語言中public 函式使用,c語言中public 是什麼意思啊?
c 中是有public的函式,可以在外面進行呼叫的。c語言中public 是什麼意思啊?public 定義一個全域性變數。全域性變數是程式設計術語中的一種,源自於變數之分。變數分為區域性與全域性,區域性變數又可稱之為內部變數。由某物件或某個函式所建立的變數通常都是區域性變數,只能被內部引用,而無法被...
C語言中memcpy函式用法,求助,C語言中函式memset ,memcpy 和strchr 的功能和用法
visual c 把memcpy和memmove實現的一樣,即不用擔心覆蓋的問題,這個可以看vc安裝目錄裡的crt原始碼得知。至於gcc,沒有看過glibc的原始碼。求助,c語言中函式memset memcpy 和strchr 的功能和用法?memset函式用來對一段記憶體空間全部設定為某個字元,常...