成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C語言中怎么將字符串轉(zhuǎn)換為一個整數(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)C語言中怎么將字符串轉(zhuǎn)換為一個整數(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),網(wǎng)站設(shè)計,網(wǎng)站托管維護等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)建站。

1 題目

函數(shù):fun()

功能:將字符串轉(zhuǎn)換為一個整數(shù)

描述:

【不能使用C語言提供的字符串函數(shù)】

輸入:字符串"-1234"

輸出:整型 -1234

2 思路

思路:將字符串每個位置的字符進行對應(yīng)的ASCII碼轉(zhuǎn)換

例如:字符 '0'-'9' 對應(yīng)的十進制整數(shù)是48~57,那么,將對應(yīng)的整數(shù)減去48就得到了對應(yīng)的整數(shù)

二進制    十進制十六進制字符
0011 000048    30      0    
0011 000149    31      1    
0011 001050    32      2    
0011 001151    33      3    
0011 010052    34      4    
0011 010153    35      5    
0011 011054    36      6    
0011 011155    37      7    
0011 100056    38      8    
0011 100157    39      9    

3 代碼

#include<stdio.h> 
#include<string.h>

/**
函數(shù):fun()
功能:將字符串轉(zhuǎn)換為一個整數(shù)

描述:
【不能使用C語言提供的字符串函數(shù)】
輸入:字符串"-1234"
輸出:整型 -1234
**/

long fun(char *p) {
    int r = 0;        //數(shù)字個數(shù)
    long res = 0L;    // 轉(zhuǎn)化后的數(shù)字
    int pos = 1;        // 位數(shù)*10 *100 ...
    int size = strlen(p);     // 字符串長度
    if (p[0] == '-'){
        r = size - 1;
    } else {
        r = size;
    }
    // 從前往后轉(zhuǎn)換的話,需要分情況去計算。即:不是負(fù)數(shù)的話從p[0] 和 如果是負(fù)數(shù)的話需要從p[1]開始
    // 所以,可以從后往前計算,循環(huán)次數(shù)是 r 
    for (int i = 0; i < r; ++i) {
        res += (p[size-1-i]-48)*pos;
        pos *= 10;
    }
    return p[0]=='-'?-res:res; 
}

int main(int argc, char const *argv[]) {
    char s[6];
    printf("Enter a string: ");
    gets(s);
    long res = fun(s);    
    printf("Convert Result: %ld\n", res);
    return 0;
}

示例結(jié)果:

$ gcc ex1.c -o demo
$ ./demo
Enter a string: -1234
Convert Result: -1234
$ ./demo
Enter a string: 9089
Convert Result: 9089

上述就是小編為大家分享的C語言中怎么將字符串轉(zhuǎn)換為一個整數(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:C語言中怎么將字符串轉(zhuǎn)換為一個整數(shù)
標(biāo)題路徑:http://jinyejixie.com/article18/pgihgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站關(guān)鍵詞優(yōu)化、小程序開發(fā)、云服務(wù)器品牌網(wǎng)站設(shè)計、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
天峨县| 临清市| 五指山市| 唐山市| 罗定市| 鹤庆县| 渑池县| 增城市| 鄂州市| 义乌市| 海南省| 体育| 沐川县| 齐河县| 岱山县| 敦煌市| 武宁县| 香港| 白沙| 望江县| 中卫市| 闸北区| 彝良县| 文化| 甘谷县| 天津市| 泰州市| 河南省| 年辖:市辖区| 永善县| 元江| 新宁县| 堆龙德庆县| 荥阳市| 铁岭市| 明光市| 临夏市| 县级市| 罗田县| 依兰县| 子长县|