调用的函数代码如下:
int f4(int sum)
{
char c[80];
int a[80]={0},i,j;
printf("输入一串字符(少于80个):");
gets(c);
i=0;j=0;sum=0;
while(c[i]!='\0')
{
if(c[i]>='0'&&c[i]<='9')
a[j]=a[0]*10+(c[i]-'0');
else
{if(c[i-1]>='0'&&c[i-1]<='9')
{sum=sum+a[j];j++;}
}
i++;
}
printf("sum=%d",sum);
return 0;
}
运行之后
求解答
修改如下:
int f4(int sum)
{
char c[80];
int a[80] = { 0 }, i, j;
printf("输入一串字符(少于80个):");
gets(c);
i = 0; j = 0; sum = 0;
while (c[i] != '\0')
{
if (c[i] >= '0' && c[i] <= '9')
a[j] = a[j] * 10 + (c[i] - '0');
else
{
sum = sum + a[j]; j++;
}
i++;
}
if (a[j] != 0)
sum = sum + a[j];
printf("sum=%d", sum);
return 0;
}