c语言,函数调用,编写函数提取字符串中的所有整数

如题所述

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define M 1000

void getnumber(char a[],int b[],int *clen)

{

char c[M];

int i = 0;

int k = 0;

int num;

int len = 0;

int flag = 0;

char *p;


for(i = 0,p = a ; i<=strlen(a) ;p++,i++)

{


if(*p>='0' && *p <= '9')

{

len++;

flag = 1; //在数字字符里面

}

else if(flag == 1 )

{


strncpy(c,p-len,len);

c[len] = '\0';

num = atoi(c);//将字符串转化为数字

b[k++] = num;  //用数组存放截取下来的数字


flag = 0;// 标识0代表进入了非数字字符

len = 0; 

}

}

*clen = k;


}

void main (void)

char a[M];

int b[M];//用来存放从字符串截取下来的数字

int i = 0;

int k ;

printf("请输入带数字的字符串:");

gets(a);

getnumber(a,b,&k);

for(i = 0; i < k; i++)

printf("%d\n",b[i]);//将存好的数输出


}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网