用子函數的形式對“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);
}