C的问题哦~

来源:百度知道 编辑:UC知道 时间:2024/06/28 07:26:41
用指针做哦~
编程实现:输入一个字符串,内有数字和非数字符号,入:123X456L7960?302TAB5876.将其中连续的数字作为一个整数,一次存放到一个数组a中。例如:123放在a[0]中,456放在a[1]中。。。试统计共有多少个整数,并输出这些整数。要求添加合适的注释。

第一次提问~希望大家帮帮忙啊~

#include <stdio.h>

size_t strToNum(char* str, int* nums)
{
size_t count = 0;
int n = 0, flag = 0;
do
{
if('0' <= *str && *str <= '9')
{
n = n * 10 + *str - '0';
flag = 1;
}
else
{
if(flag == 1)
{
nums[count++] = n;
n = 0;
}
flag = 0;
}
} while(*str++ != '\0');
return count;
}

int main(void)
{
int a[10];
char str[] = "123X456L7960?302TAB5876";
size_t i, n = strToNum(str, a);
for(i = 0; i < n; i++)
printf("%d\n", a[i]);
return 0;
}