数字字符转换为整数

来源:互联网 发布:淘宝买原味内裤的店铺 编辑:程序博客网 时间:2024/04/28 19:10
/* 为下面的函数原型编写函数定义:int ascii_to_integer(char *str);这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算数溢出。提示:这个技巧很简单:你每发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加。
*/
#include <stdio.h>int ascii_to_integer(char *str){int ret = 0;while(*str != '\0'){if((*str <'0') || (*str >'9'))<span style="font-family: Arial, Helvetica, sans-serif;">//这句if语句很坏,就是你每次指向的都必须是数字字符才行,</span>return 0;//只要字符串中有空格、字母等。它都会返回0;else{ret = ret * 10 + (*str-'0');}str++;}return ret;}int main(){int ret =ascii_to_integer("1234");//printf("%d\n",ret);}

0 0