描述:在字符串内查找数字,并保存在数组中,例如a123ds42。
则a[0] = 123,a[1] = 42.
#include <ctype.h>
#include <stdio.h>
#define MAX 20 //数组的最大长度/*处理字符串*/
int findnum(const char *str)
{int i = 0,j = -1,arr[MAX] = {0};//切记初始化数组while(str[i] != '\0'){if(isdigit(str[i]))//判断字符串内数字的开始{j += 1;//数组下表开始计数while(isdigit(str[i])){arr[j] = arr[j]*10+str[i]-'0'; // char 转换为 inti++;}}else{i++;}}for(i = 0;i <= j;i++){printf("arr[%d] = %d\t",i,arr[i]);}printf("\n");return j+1;//返回字符串内整数的个数
}
int main(void)
{char str[] = {"123acd312egfvr2f23vr3e2fvr3g34gf43fgt3f2"};int ret = 0;ret = findnum(str);printf("The total number in string is : %d.\n",ret);return 0;
}