c语言怎么在数组最后再加一些数据。

c语言怎么在数组最后再加一些数据。,第1张

很简单利用C语言中的动态数组就可以搞定

举个例子

#include <stdio.h>

#include <stdlib.h>

#include <malloc.h>

#include <time.h>

int main()

{

srand((unsigned)time(NULL))

int n

int new_number

printf("please input a number:\n")

scanf("%d",&n)

int *p = (int *)malloc(n*sizeof(int))

for (int i=0i<ni++)

{

p[i] = rand()%100

}

printf("the array is:\n")

for (int i=0i<ni++)

{

printf("%d\t",p[i])

}

printf("add a new number to array:\n")

scanf("%d",&new_number)

int *q = (int *)realloc(p,(n+1)*sizeof(int))

q[n] = new_number

printf("after add a new number the array is:\n")

for (int i=0i<n+1i++)

{

printf("%d\t",q[i])

}

free(q)

system("pause")

return 0

}

通过动态数组就可以在原本已经满的数组后面继续添加元素

怎么在数组后面添加数组 ios

cpystr(pa,pb)

printf("string a=%s\nstring b=%s\n",pa,pb)

}

在本例中,程序完成了两项工作:一是把pss指向的源字符串复制到pds所指向的目标字符串中,二是判断所复制的字符是否为`\0',若是则表明源字符串结束,不再循环。否则,pds和pss都加1,指向下一字符。在主函数中,以指针变量pa,pb为实参,分别取得确定值后调用cprstr函数。由于采用的指针变量pa和pss,pb和pds均指向同一字符串,因此在主函数和cprstr函数中均可使用这些字符串。也可以把cprstr函数简化为以下形式:

cprstr(char *pss,char*pds)

{while((*pds++=*pss++)!=`\0')}

即把指针的移动和赋值合并在一个语句中。 进一步分析还可发现`\0'的ASCⅡ码为0,对于while语句只看表达式的值为非0就循环,为0则结束循环,因此也可省去“!=`\0'”这一判断部分,而写为以下形式:

cprstr (char *pss,char *pds)

{while (*pdss++=*pss++)}

表达式的意义可解释为,源字符向目标字符赋值,移动指针,若所赋值为非0则循环,否则结束循环。这样使程序更加简洁。

【例10.30】简化后的程序如下所示。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7957100.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存