1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main1(void)
 5 {
 6     //C风格字符串一定要有一个'\0'作为结束;
 7     //char str1[] = { 'c','a','l','c' };
 8     //puts(str1);
 9 
10 
11     //char str2[] = { 'c','a','l','c','\0' };
12     //puts(str2);
13 
14 
15     //打印的时候还是有烫烫烫,因为'\0'还在,字符串没有结束;
16     //char str3[4] = { 'c','a','l','c'};
17     //puts(str3);
18 
19     //没有被初始化的默认会被初始化为'\0';
20     //char str4[5] = { 'c','a','l','c' };
21     //puts(str4);
22 
23 
24     //最后一个没有'\0',还是会打印烫烫烫
25     //char str5[4] = "calc";
26     //puts(str5);
27 
28 
29     system("pause");
30     return 0;
31 }
32 
33 
34 int main2(void)
35 {
36     //字符数组的只有一个好处,可以整体的输出,puts gets scanf printf
37     char str1[10] = "calc";
38     char str2[10] = "1234";
39 
40     //数组的拼接是不可以直接的进行相加的;
41     //相加 大于 小于 乘法 除法都没有意义;
42     //printf("%s", str1 + str2);
43 
44 
45     //数组不可以整体操作
46     //str1 = str2; 是错误的
47     //可以对元素进行挨个的操作;
48     for (int i = 0; i < 10; i++)
49     {
50         str1[i] = str2[i];
51     }
52 
53     system("pause");
54     return 0;
55 }
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 //-----------------------------------------------------------------------
69 
70 
71 int mystrlen(const char* arr)
72 {
73     int num = 0;
74     for (char* i = arr; *i != '\0'; i++)
75     {
76         num++;
77     }
78     return num;
79 }
80 
81 int main(void)
82 {
83     char str[] = {0};
84     int len = mystrlen(str);
85     printf("%d\n", len);
86     
87     system("pause");
88     return 0;
89 }

 

posted on 2019-04-29 20:50  寒舟独饮  阅读(109)  评论(0)    收藏  举报