我希望从一个字符串中提取出数字,并将它们放入一个数组中。
例如,字符串是"fds34 21k34 k25j 6 10j340ii0i5"
。
我想创建一个数组,其元素如下:
arr[0]=34, arr[1]=21, arr[2]=34, arr[3]=25, arr[4]=6, arr[5]=10, arr[6]=340, arr[7]=0, arr[8]=5;
我的试用代码:
#include <stdio.h>
int main()
{
char ch;
int i, j;
int pr[100];
i=0;
while ( (ch = getchar()) != '\n' ){
if( ch>='0' && ch<='9' ){
pr[i] = ch-'0';
i++;
}
for(j=0; j<i; j++)
printf("pr[%d]: %d\n", j, pr[j]);
return 0;
}
我的代码无法识别连续数。只有 'pr
' 数组包含 {3, 4, 2, 1, 3, 4, 2, 5, 6, 1, 0, 3, 4, 0, 0, 5}
。有没有方法来实现我的目标?
'-'
和'+'
?这些字符应该作为_数字_的一部分允许吗?还是你只对十个数字感兴趣? - chux - Reinstate Monica