C语言学习 - 0004 字符串复制

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 void main()
 5 {
 6     int readi();
 7     char* readc();
 8     void write(char* read,int i);
 9 
10     int i=0;
11     char* read001=readc();
12     i=readi();
13     printf("%s\n",read001);
14     write(read001,i);
15     if((getchar())=='\n')
16         getchar();
17 }
18 int readi(){
19     int i=0;
20     printf("输入i");
21     scanf("%d",&i);
22     return(i);
23 }
24 char* readc(){
25     int a=0,b=10,c=1;
26     printf("输入字符");
27     char* read001=(char*)malloc(10*sizeof(char));
28     while(c){
29         read001[a]=getchar();
30         if(a==b-1){
31             char* read002=read001;
32             b=b+10;
33             char* read001=(char*)malloc(b*sizeof(char));
34             for(int k=0;k<b-11;k++){
35                 read001[k]=read002[k];
36             }
37         }
38         if(read001[a]=='\n')
39             c=0;
40         a=a+1;
41     }
42     read001[a-1] = '\0';
43     return read001;
44 }
45 void write(char* read,int i){
46     char* write=(char*)malloc(i*sizeof(char));
47     static int a=0;
48     for(;a<i+1;a++){
49         if(read[a]=='\0'){
50             break;
51         }
52         write[a]=read[a];
53     }
54     for(;a<i+1;a++){
55         write[a]='m';
56     }
57     write[a-1]='\0';
58     printf("%s",write);
59 }

 

转载于:https://www.cnblogs.com/Yx37412/p/4972863.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值