局部变量,全局变量初始值问题----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 阅读(375) 评论(0) 编辑 收藏 举报