您的位置:

c语言数字复制,字符串复制C语言

本文目录一览:

在C语言中,利用指针,将一个字符数字复制到另一个字符数组。为何运行不出来?

错误有二:

(1)除申明变量处,其余不能直接对字符串赋值,p="Another beautiful string";应改为

strcpy(p,"Another beautiful string");

(2)字符串q明显比p短,而定义的strcpy函数*from应该比*to短才可以,否则会出现错误,若改成

strcpy(q,p)就可以了,另外p,q本身就是指针(地址变量),因此实参传递时不能加*

c语言,输入一串字符(长度不超过80个字符),要求将其中的数字字符复制到另一个字符串中。

#include stdio.h

int main()

{

    char s1[100], s2[100];

    int i,j;

    gets(s1);

    for(i = j = 0; s1[i]; i ++)

        if(s1[i]='0's1[i]='9')

            s2[j++] = s1[i];

    s2[j] = 0;

    puts(s2);

    return 0;

}

指针方式类似.

#include stdio.h

int main()

{

    char s1[100], s2[100];

    char *p1=s1, *p2=s2;

    gets(p1);

    while(*p1)

    {

        if(*p1='0'*p1='9')

            *p2++ = *p1;

        p1++;

    }

    *p2 = 0;

    

    puts(s2);

    return 0;

}

c语言中如何像用函数strcpy复制字符串一样复制数字,如复制30。

写一个函数即可。比如,可以写如下的一个函数:

int intncpy(int *des, int *src, int len)

{

int i;

if (des == NULL || src == NULL || len = 0)

    return -1;

for (i = 0; i  len; i++)

    {

    *des++ = *src++;

    }

return 0;

}

说明:

为了适合大多数情况,不方便像strcpy()一样,用“\0”自动判别字符串结尾。因此用类似于strncpy()定长度的方式,进行数字拷贝。

其它数字类型,比如float, double, 都可以按照类似的方式,编制对应的ncpy()程序。

可以继续交流,谢谢。

C语言里,将一串上百位的数字按位数复制给数组

由于数字超大,因此这个上百位的数字原则上只能保存在字符串中,假设数字字符串为s[200],保存数组为N[200],相关代码如下:

int CopyStrToIntArray(char s[200],int n[200])

{

char *p;

int nCount;

nCount=0,p = s;

while(*p)

{

n[nCount++] = *p-'0';

p++;

}

return nCount;

}