欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于atoi()與itoa()函數(shù)的內(nèi)部實(shí)現(xiàn)方法詳解

 更新時(shí)間:2013年05月24日 12:00:11   作者:  
本篇文章是對atoi()與itoa()函數(shù)的內(nèi)部實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
C語言提供了幾個(gè)標(biāo)準(zhǔn)庫函數(shù),可以將任意類型(整型、長整型、浮點(diǎn)型等)的數(shù)字轉(zhuǎn)換為字符串。以下是用itoa()函數(shù)將整數(shù)轉(zhuǎn) 換為字符串的一個(gè)例子:
       atoi     把字符串轉(zhuǎn)換成整型數(shù)
       itoa     把一整數(shù)轉(zhuǎn)換為字符串
復(fù)制代碼 代碼如下:

 #include "stdio.h"
#include "ctype.h"
#include "stdlib.h"
/*
Converts a character string into an int or long
將一個(gè)字符串轉(zhuǎn)化為整數(shù)
*/
int my_atoi(char s[])
{
 int i,n,sign;
 for(i=0;isspace(s[i]);i++);   //跳過空白
 sign=(s[i]=='-')?-1:1;
 if(s[i]=='+'||s[i]==' -')     //跳過符號位
  i++;
 for(n=0;isdigit(s[i]);i++)
  n=10*n+(s[i]-'0');        //將數(shù)字字符轉(zhuǎn)換成整形數(shù)字
 return sign*n;
}
/*
Converts an int or long into a character string
將一個(gè)整數(shù)轉(zhuǎn)化為字符串
*/
void my_itoa(int n,char s[])
{
 int i,j,sign;
 if((sign=n)<0)    //記錄符號
  n=-n;         //使n成為正數(shù)
 i=0;
 do{
  s[i++]=n%10+'0';    //取下一個(gè)數(shù)字
 }while((n/=10)>0);      //循環(huán)相除
 if(sign<0)
  s[i++]='-';
 s[i]='\0';
 for(j=i-1;j>=0;j--)        //生成的數(shù)字是逆序的,所以要逆序輸出
  printf("%c",s[j]);
}
void main()
{
 int n;
 char str[100];
 my_itoa(-123,str);
 printf("\n");
 printf("%d\n",my_atoi("123"));
 system("pause");
}
 

相關(guān)文章

  • C/C++實(shí)現(xiàn)投骰子游戲

    C/C++實(shí)現(xiàn)投骰子游戲

    這篇文章主要為大家詳細(xì)介紹了C/C++實(shí)現(xiàn)投骰子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • c++ 前自增/后自增操作符效率分析

    c++ 前自增/后自增操作符效率分析

    這篇文章主要介紹了c++ 前自增/后自增操作符效率分析,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2021-01-01
  • c語言?指針零基礎(chǔ)講解

    c語言?指針零基礎(chǔ)講解

    指針是指向另一個(gè)變量的變量。意思是一個(gè)指針保存的是另一個(gè)變量的內(nèi)存地址。換句話說,指針保存的并不是普通意義上的數(shù)值,而是另一個(gè)變量的地址值。一個(gè)指針保存了另一個(gè)變量的地址值,就說這個(gè)指針“指向”了那個(gè)變量
    2022-02-02
  • C語言菜鳥基礎(chǔ)教程之加法

    C語言菜鳥基礎(chǔ)教程之加法

    C語言中運(yùn)算符和表達(dá)式數(shù)量之多, 在高級語言中是少見的。正是豐富的運(yùn)算符和表達(dá)式使C語言功能十分完善。 這也是C語言的主要特點(diǎn)之一。今天我們來看看加法運(yùn)算
    2017-10-10
  • C語言零基礎(chǔ)徹底掌握預(yù)處理上篇

    C語言零基礎(chǔ)徹底掌握預(yù)處理上篇

    在C語言的程序中包括各種以符號#開頭的編譯指令,這些指令稱為預(yù)處理命令。預(yù)處理命令屬于C語言編譯器,而不是C語言的組成部分,通過預(yù)處理命令可擴(kuò)展C語言程序設(shè)計(jì)的環(huán)境
    2022-08-08
  • C++遞歸算法實(shí)例代碼

    C++遞歸算法實(shí)例代碼

    這篇文章主要介紹了C++遞歸算法實(shí)例代碼,還是比較不錯(cuò)的,運(yùn)用了遞歸算法解決相關(guān)問題,這里分享給大家,需要的朋友可以參考下。
    2017-11-11
  • 關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    這篇文章主要介紹了關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C++中std::vector的6種初始化方式

    C++中std::vector的6種初始化方式

    這篇文章主要介紹了C++中std::vector的6種初始化方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序

    C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 詳解C語言中strpbrk()函數(shù)的用法

    詳解C語言中strpbrk()函數(shù)的用法

    這篇文章主要介紹了詳解C語言中strpbrk()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08

最新評論