实现将一个字符串转化成对应的整形数字
生活随笔
收集整理的這篇文章主要介紹了
实现将一个字符串转化成对应的整形数字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
輸入一個字符串比如“+1234”,將其轉(zhuǎn)換成對應(yīng)的數(shù)字1234輸出,若是“-1234”,則輸出-1234:
#include?<stdio.h> enum?Charec{TRUE,FALSE}; int?check?=?FALSE; int?my_atoi(const?char?*str) {int?num?=?0;if((str?!=?NULL)&&(*str?!=?'\0')){int?minus?=?0;if(*str?==?'+')str++;else?if(*str?==?'-'){str++;minus?=?1;}while(*str?!=?'\0'){if((*str?>=?'0')&&(*str?<=?'9')){int?flag?=?minus?-1:1;num?=?(num*10)+flag*(*str-'0');if((!minus&&(num>0x7FFFFFFF))||(minus&&((signed?int)num<0x80000000))){num?=?0;break;}str++;}else{num?=?0;break;}}if(*str?==?'\0'){check?=?TRUE;}}return?num; } int?main() {char?str[50];int?ret?=?0;scanf("%s",str);ret?=?my_atoi(str);printf("%d\n",ret);return?0; }為將輸入字符串“0”輸出結(jié)果0和輸入空字符串輸出結(jié)果也同樣為0這兩種情況區(qū)分開,特意設(shè)置了一個全局枚舉常量,這樣可以檢查枚舉常量的值來區(qū)分,而且須考慮輸入的字符串轉(zhuǎn)換成對應(yīng)的數(shù)字超出int的范圍的情況。
轉(zhuǎn)載于:https://blog.51cto.com/2627lounuo/1707218
總結(jié)
以上是生活随笔為你收集整理的实现将一个字符串转化成对应的整形数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: L8.1 lvs+heartbeat-l
- 下一篇: IIS 之 失败请求跟踪规则