// 字符串的定义和初始化 void test() { // "mj" char s[] = {'m', 'j', '\0'}; // 字符串"mj" char s1[3] = {'m', 'j', '\0'}; // 字符串"mj" char s2[3] = {'m', 'j'}; // 并不是正规的字符串 char s3[] = "mj"; // 字符串"mj",会自动在尾部加上一个\0 } // 输出字符串 void test1() { char s[] = "mj"; printf("%s\n", s); printf("%s\n", "lmj"); // printf可以输出多个字符串 printf("%s %s %s\n", "mj", "lmj", "ios"); // puts只能输出一个字符串,puts会自动换行 puts("ios"); puts("ios"); } // 输出字符串2:\0的作用 void test2() { char s1[] = {'l', 'm', 'j', '\0'}; // puts(s1); char s2[] = {'m', 'j'}; // 打印一个字符串 // puts(s2); printf("%s", s1); } // 字符串的输入 void test3() { // itcast mj char s2[] = "mj"; char s1[2]; // s1就是数组的地址,所以不用&s // 输入完毕后,会自动在s1的尾部加一个\0 // scanf("%s", s1); // 从s1这个地址开始赋值用户输入的字符序列 // 在尾部会自动加上一个\0 gets(s1); // 输出用户输入的字符串 printf("s1 = %s\n", s1); printf("s2 = %s", s2); } int main(int argc, const char * argv[]) { test3(); return 0; }
