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 }
浙公网安备 33010602011771号