Posted in 面试题 onJune 02, 2012
编码实现字符串转整型的函数(实现函数atoi的功能),据说是神州数码笔试题。如将字符串 ”+123”?123, ”-0123”?-123, “123CS45”?123, “123.45CS”?123, “CS123.45”?0
#include “stdafx.h”
int str2int(const char *str) { // 字符串转整型函数
int i=0, sign=1, value = 0;
if(str==NULL) return NULL; // 空串直接返回 NULL
if(str[0]==’-’ || str[0]==’+) { // 判断是否存在符号位
i = 1;
sign = (str[0]==’-’ ? -1 : 1);
}
for(; str[i]>=’0′ && str[i] value = value * 10 + (str[i] – ’0′);
return sign * value;
}
int main(int argc, char *argv[]) {
char *str = “-123.45CS67″;
int val = str2int(str);
printf(“str=%s\tval=%d\n”, str, val);
}
#include “stdafx.h”
int str2int(const char *str) { // 字符串转整型函数
int i=0, sign=1, value = 0;
if(str==NULL) return NULL; // 空串直接返回 NULL
if(str[0]==’-’ || str[0]==’+) { // 判断是否存在符号位
i = 1;
sign = (str[0]==’-’ ? -1 : 1);
}
for(; str[i]>=’0′ && str[i] value = value * 10 + (str[i] – ’0′);
return sign * value;
}
int main(int argc, char *argv[]) {
char *str = “-123.45CS67″;
int val = str2int(str);
printf(“str=%s\tval=%d\n”, str, val);
}
编码实现字符串转整型的函数
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Tags in this post...
Reply on: @reply_date@
@reply_contents@