c語言中怎麼將數字字元轉換成對應的數值

2021-03-10 22:02:49 字數 1904 閱讀 8426

1樓:別這樣z煩

舉個56的例bai子

第一次進入du時是單個zhi

字元dao'5' . d=10*0+'5'-'0' = 5第二次進專

入時是單個字元'6' . d = 5*10 +'6'-'0' = 56

轉換成功,10*d代表著位數

屬連續數字字元第一次進入時個位數、第二次十位數、第三次百位數....

2樓:菜鳥級也瘋狂

ch-'0'是計算每個數字字元在數字中所對應的位置,較難理解的是10*d ,因為輸入內的是多個數,每容次計算完一個數字字元,依然處在迴圈中帶入下一次的計算,因此10*d的作用就是把上一次算得的結果往高位送,每乘以一個十就高一位。

說得不大清楚,不清楚的話還請見諒啊!

3樓:du瓶邪

在baic/c++語言中沒有專門的du字元zhi串變數,通常用字元陣列來存放字串。

dao字串是以「專\0」作為結束符。屬

c/c++提供了豐富的字串處理函式,下面是幾個最常用的函式:

● 字串輸出函式puts。

● 字串輸出函式gets。

● 字串連線函式strcat。

● 字串複製函式strcpy。

● 測字串長度函式strlen。

4樓:匿名使用者

ascii碼方式轉換吧,每個字元都有一個ascii碼對應,就是數字。

不知道這段**具體在程式的哪個部分,如果d不置零,會因為之前的程式執行,d已經有值,和預期的結果不同

5樓:雞蛋永不碎

沒看懂你說的樹上那段

字元是按照ascii碼排的(見百度百科「ascii碼」詞條)版其中第48個碼為權'0'

然後順次是'1','2',...,'9'

所以說 一個字元a='6',那麼a與'0'距離就是它代表的數值,也就是6

所以char a='6';

int k=a-'0';

那麼k=6

6樓:匿名使用者

字元相減copy就是 字元的阿斯克碼相減,數字字bai符有事從『0』到『9』挨

du著,他們的阿斯zhi克碼也是從48到57挨著的,每dao個字元減『0』得到的距離就是字元對應的數值。

d=10*d+ch-'0' 若d不置為0 那不成兩位數了,數字字元只有0-9

至於為什麼多此一舉 而不是d=ch-『0』 這個高人指點啊

如何用c語言將字元型數字轉化成數值型數字

7樓:匿名使用者

用迴圈,一個字元一個字元的轉化,轉化方法比如:'1' - '0' = 1。每一個元素減去'0',得到對應的數值。再用乘以10來操作就ok。

8樓:戴傳偉

將字元減去『0』,例如 char c='9';int result='9'-'0';則result=9就是所要的結果了~~

9樓:匿名使用者

用atoi()函式可以實現

c語言如何將數字字元『0』到9轉化為數字

10樓:我有小栗子

可以直接使用字元『0』減去數字即可轉化。

示例如下:

#includeint main()

用函式atoi可以把字元轉為數字。

#includeint main()

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。c程式是由一組變數或是函式的外部物件組成的。

函式是一個自我包含的完成一定相關功能的執行**段。

參考資料

c語言中怎麼樣將數字123轉換成字元123我

在c語言中通過以下的 程式段可以將數字1,2,3轉換成 字元1,2,3 inti char s 10 for i 0 i 10 i s i 0 i 迴圈執行以後,s 0 0 ascii 值相差48,即 0 s 1 1 s 2 2 這是考你ascii碼,數字和字元的ascii碼相差48 int x 3...

c語言如何將int型別轉換成字串

c語言copy將int型別轉換成字串參照以bai下 目前在一du般的電腦中,int佔用4位元組,32位元,資料範圍zhi為 2147483648 2147483647 2 31 2 31 1 在之前dao的微型機中,int佔用2位元組,16位元,資料範圍為 32768 32767 2 15 2 15...

MATLAB怎麼將符號變數轉換成字元

比如某個符號變數為sym格式,這你可以從matlab主桌面的workspace那兒檢視該變數的名稱及型別。比如該符號變數叫aa。bb char aa 這樣就使該符號變數的值變成字串形式了,並賦值給bb然後你就可以把這個字串再轉化為其它形式,如轉化為數值形式,str2num bb 這樣就得到了一個數值...