/*从键盘读取一个字符串,将字符串中所有连续的数字转换为对应的整数存储 到一个整数数组中,最后将这些整数输出 */ #include <stdio.h> int fun2(char *p)//将连续数字字符转换为整数 { int x=0; while(*p && *p>='0' && *p<='9') { x=x*10+*p-'0'; p++; } return x; } int fun1(char *s,int *a) { int x,n; char *p; n=0;p=s; while(*p) { while(*p &&(*p<'0'||*p>'9'))p++; if(*p) { *(a+n)=fun2(p); n++; } while(*p>='0' && *p<='9')p++; } return n; } int main() { char s[100]; int a[10],i,n; gets(s); n=fun1(s,a); for(i=0;i<n;i++) printf("%d ",a[i]); return 0; }
运行结果: