c语言 如何将已赋值的字符串初始化为空?

谢谢。
void create(char *a,int *b) /*a, b都是数组*/
{
int i,j,k,tag=0,count=0; /*count表示总数字数,tag表示连续数字的组数*/
char tem[LENGTH*2];
for(i=0;i<LENGTH*2;i++)
{
if ((a[i]>='0')&&(a[i]<='9'))
{
for(j=i;j<LENGTH*2;j++)
{
if ((a[j]>'9')||(a[j]<'0')||(a[j]=='\0'))
{
tag++;
break;
}
count++;
tem[j-i]=a[j];
}

i=j--;
}

b[tag]=atoi(tem); printf("%d ",b[tag]); /*!!*/
}
printf("\nTotal number: %d \nThe number of teams: %d\n",count,tag);
getch();
}

如何实现
对连接后的字符串c(参数a),将其中连续的数字作为一个整数,依此存放到一数组a(参数b)中。例如,123放在a[0],4567放在a[1],……。统计共有多少

可以使用memset函数将字符串数组中所有元素全部设置为\0即可。

函数原型:void *memset(void *s, int ch, size_t n);

函数说明:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。 

示例:

#include <stdio.h>
#include <string.h>
 
int main()
{
char buf[256] = "hello world"; //buf字符数组初始化
printf("%d\n", strlen(buf));  
memset(buf, 0x00, sizeof (char) * 256); //全部设置为0x00即\0字符
printf("%d\n", strlen(buf));   
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-05
如果是指针字符串,可以直接给字符串赋值为NULL,如果不是指针字符串的话,没必要初始化,因为他们用完后就自动释放内存空间了。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

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