本文共 577 字,大约阅读时间需要 1 分钟。
#include#include int str2int(const char* str){ /* * ptr保存str字符串开头 * */ const char* ptr = str; /* * 如果第一个字符是正负号的话,就移动到下一个字符 * */ if(*str == '-' || *str == '+') str++; /* * 用于保存转换后的整数,必须初始化为0 * */ int tmp = 0; while(*str != 0) { /* * 如果当前字符不是数字就退出当前循环 * */ if((*str < '0') || (*str > '9')) break; tmp = (tmp * 10) + (*str - '0'); str++; } /* * 如果字符串是以-开头的话就转换成其相反数 * 这里看出为什么当初要用ptr保存str了 * */ if(*ptr == '-') tmp = -tmp; /* * 作为结果返回 * */ return tmp;}int main(int argc,char** argv){ int res; res = str2int(argv[1]); printf("%d\n",res);}
转载地址:http://htuhj.baihongyu.com/