用子函数的形式对“adada12sdsads45ertry123”中的数字12+45+123求和
#include<stdio.h>
#define N 50
/**************************************************
函数功能:对“adada12sdsads45ertry123”中的12+45+123求和
返回值类型:
参数类型:
***************************************************/
int stringsum(char arr[],int n)
{
int i=0;
int result=0;
int num=0;
int sum=0;
for(i=0;i<n;i++)
{
if(arr[i]>=48 && arr[i]<=57)
{
num=arr[i]-48;
sum=sum*10+num;
printf("%d ",sum);
}
if(arr[i]<48 || arr[i]>57)
{
result=result+sum;
sum=0;
}
}
return result;
}
int main()
{
int add=0;
char arr[N]={'\0'};
scanf("%s",arr);
add=stringsum(arr,N);
printf("最终结果是%d\n",add);
}