输出字符串中的连续的数字,输入的串长一点..就报错
如:串中有:skfjke1232sese21fe 则输出1232 21程序代码:
#include "stdio.h" #include "conio.h" #include "stdlib.h" #define M 10 int * s() { return (int *)malloc(sizeof(int)*M); } int *se(char *t,int *b) { int *num,k; char *p=t; num=s(); for(;*p!='\0';p++) { k=1; num[*b]=0; if(*p>='0'&&*p<='9') { for(;*p>='0'&&*p<='9';p++) { num[*b]=num[*b]*k+(*p-'0'); k=10; } (*b)++; } } return num; } int main() { char sk[M]; int i,*n,c=0; printf("请入字符串"); gets(sk); n=se(sk,&c); for(i=0;i<c;i++) printf("%-5d",n[i]); getch(); return 0; }
[[it] 本帖最后由 bianfeng 于 2008-4-15 00:47 编辑 [/it]]