數字字符轉換爲整數

/* 爲下面的函數原型編寫函數定義:
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);
}	

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章