您的位置:首页 > 编程语言 > C语言/C++

C语言 找出字符串中的数字,开辟空间储存它们,并输出这些数字

2014-07-29 17:18 309 查看
/**
*  找出字符串中的数字,开辟空间储存它们,并输出这些数字.
*/
//找出字符串中的数字,开辟空间储存它们,并输出这些数字.
char str[] = "lanou124kk34hanooo888jjj";   //  字符串随便给
int i = 0,count = 0;
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') {
count++;
}
i++;
}
printf("count = %d\n",count);
char *p = malloc(count + 1);//动态开辟空间,(count + 1)多开辟一个位置存储'\0'
i = 0; //清0,从第一个字符开始
int k = 0;//用来标识数字数组元素的位置
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') {
*(p + k) = str[i];
k++;
}
i++;
}
*(p + k) = '\0';//最后一个补/0,作为字符串结束
printf("%s", p);
free(p);//释放堆区空间
p = NULL;//将指针变量指向一块无效的区域.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐