局部变量,全局变量初始值问题----C与指针练习题4.14.1

全局变量初始化0

局部变量初始化是随机值

如下面一段代码,全局变量,将src复制n个字符到dst

 1 #include<stdio.h>
 2 void copy_n(char dst[],char src[],int n);//函数原型
 3 char src[20];
 4 char dst[20];
 5 int n;
 6 //这里是写的字符串的复制粘贴,涉及到上面三个
 7 
 8 int main(void)
 9 {    
10     printf("input src");
11     gets(src);
12     printf("input n");
13     scanf("%d\n",&n);
14     copy_n(dst,src,n);
15     printf("%s\n",src);
16     printf("%s\n",dst);
17     return 0;
18 }
19 void copy_n(char dst[],char src[],int n)
20 {
21     int len=0;
22     int i;
23     for (i = 0;src[i] !='\0'; i++)
24     {
25         len++;
26     }
27     for (i = 0; i < n; i++)
28     {
29         if (i<len)
30         {
31             dst[i]=src[i];
32         }
33         else
34             dst[i]='\0';
35     }
36 }

 

如下面一段代码,局部变量,将src复制n个字符到dst

 1 #include<stdio.h>
 2 
 3 void copy_n(char dst[],char src[],int n);
 4 
 5 
 6 
 7 //
 8 
 9 int main(void)
10 
11 {    char src[20];
12 
13     char dst[20];
14 
15     int n;
16 
17     printf("input src");
18 
19     gets(src);
20 
21     printf("input n");
22 
23     scanf("%d\n",&n);
24 
25     copy_n(dst,src,n);
26 
27     printf("%s\n",src);
28 
29     printf("%s\n",dst);
30 
31     return 0;
32 
33 }
34 
35 void copy_n(char dst[],char src[],int n)
36 
37 {
38 
39     int len=0;
40 
41     int i;
42 
43     for (i = 0;src[i] !='\0'; i++)
44 
45     {
46 
47         len++;
48 
49     }
50 
51     for (i = 0; i < n; i++)
52 
53     {
54 
55         if (i<len)
56 
57         {
58 
59             dst[i]=src[i];
60 
61         }
62 
63         else
64 
65             dst[i]='\0';
66 
67     }
68 
69 }

 

posted on 2018-02-27 14:29  yiludaifei  阅读(354)  评论(0编辑  收藏  举报

导航