c語言字元當做數字比大小問題疑惑

2025-07-20 06:55:26 字數 2877 閱讀 8513

1樓:

真是個愛思考的同學啊。。。一般人好像都不會想到這個問題。。。

char不是字元,char是整型而已。

當然你的if也寫錯了, if( c>='a' &&c<='z') 這樣寫就可以了,不過這個一般人都能想得到。。

到優酷上找 "c學習指南」的第講, 保證你能明白所有的問題!!一定要去看,不然真是可惜了乙個愛程式設計的苗子。

2樓:幻想秘境

答案很簡單你這樣寫是不對的第乙個if應該這樣寫if(47

c語言中,通過定義的字元變數,輸入數字比較大小,圖中,為什麼不等式兩邊的數字0跟9一定要加上單引號

3樓:網友

字元加單引號,字串用雙引號。

單引號不加,計算機識別的是變數,而不是字元,如果沒有該變數,會報錯的。

c語言中怎樣比較整型變數與字元型的大小

4樓:紫軒玥樺

你可以直接比較,因為每個字元在ascii表裡都有個數值 (「a」-「z」[65-90] ,a」-「z」[97-122]),其他參照該表ascii,例子如下:

int a;

char str='a';

scanf("%d",&a);

if( a>str)else

也可以通過atoi(char *)函式,它能將字元轉換成整形如:void main()}

5樓:陸俊賢

可以直接比較,因為字元型變數會轉換成ascii碼。

c語言,乙個字元和數字相加,乙個奇怪的問題,求大神

6樓:網友

char型別表示乙個有符號數的範圍為:-128到127z的ascii值為122

在記憶體中,128用乙個位元組表示就是。

而這個數值,按整型輸出時,表示的就是-128(補碼)解決你的問題,只需要將ch定義成無符號數就可以了unsigned char ch ;

7樓:網友

很簡單,z的ascii值為122

加6=128>127

而char範圍為-128 到127,數值越界了,所以變成-128

8樓:成靈慧

並不奇怪。

char預設是有符號的。

範圍-128到127

當 加和大於127,就會從最小的-128那裡繼續開始了。

c語言 怎麼比較字串中內容的大小,內容是數字

9樓:網友

使用strcmp()函式:

原型:extern int strcmp(const char *s1,const char * s2); 用法:#include 功能:

比較字串s1和s2。 說明: 當s1s2時,返回值》0 即:

兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。如: "a"<"b" "a">"a" "computer">"compare" 特別注意:

strcmp(const char *s1,const char * s2)這裡面只能比較字串,不能比較數字等其他形式的引數。

10樓:

//如果長度不相等,長度長的大;若長度相等,則按字串比較。

#include

#include

int cmpnum(char *s,char *t)void main()

11樓:匿名使用者

#include的strcmp應該是可以的吧!

12樓:網友

排序不就行了;最簡單的冒泡法排序和選擇法排序。

請問c語言字串中既有數字還有字母 如何進行大小比較 用什麼函式實現 謝謝大家啦

13樓:聽不清啊

從左向右逐個字元進行比較。比較原則為空格最小,數字《大寫字母《小寫字母。

同為數字、大寫字母、小寫字母則'0'<'9'、'a'<'z'、'a'<'z'。

若有比較結果為二個字元不相等,則二個字串的比較結束。字元比較大小的結果,就是字串大小比較的結果。

如果二個字串的前若干個字元逐一對應相同,字串長度也相同,則兩個字串相等。

如果二個字串的前若干個字元逐一對應相同,字串長度不相同,則較長的那個字串為大。

使用函式strcmp(s1,s2),需要包含標頭檔案。

若結果為正,表示s1>s2;

若結果為負,表示s1若結果為0,表示s1==s2;

14樓:陸俊賢

再程式新增#include標頭檔案引用,在函式里就可以用strcmp(str1,str2)比較str1和str2的大小,與字母數字都無關。

15樓:森北的地方

可以使用 strcmp(str1,str2)設這兩個字串為str1,str2,若str1==str2,則返回零;

若str1str2,則返回正數。

是根據ascii碼比較的,包含在 標頭檔案裡。

16樓:陽光的雷咩咩

c語言是不管你什麼,一律按ascii碼比較,strcmp

c語言中,整數通過字元型變數怎麼比較大小,需要加比較的數字需要加單引號嗎?

17樓:網友

加單引號讀取對應asic碼加以對比,不加單引號就成了字母了加雙引號就成字串了。

18樓:背心_心背

對 要加引號加引號直接比較就行。

C語言如何判斷輸入的是數字還是其他字元

有很多方法 1 可以用sa f或gets函式直接接收輸入的字串,然後用迴圈遍歷字串中每乙個字元,判斷其是字母還是數字。2 可以用迴圈呼叫getch 或getchar 函式來乙個乙個字元的接收輸入,同時判讀輸入的是字母還是數字。至於怎麼判讀是字母還是數字,很簡單,假設字元c,滿足 c a c z c ...

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

用C語言求解 刪除字串的字元,用C語言求解 刪除乙個字串的乙個字元

int n maxstring 字串最大長度char n strsrc 原始串char n 1 strdes 目標串char delchar c int i 0 int j 0 for i 0 i n i 上面幾條語句就實現了你的要求。要輸出的話那簡單。int i 0 for i 0 i n 1 i...