C语言 字符串的声明与使用

// 字符串的定义和初始化
void test() {
    // "mj"
    char s[] = {'m', 'j', ''}; // 字符串"mj"
    
    char s1[3] = {'m', 'j', ''}; // 字符串"mj"
    
    char s2[3] = {'m', 'j'}; // 并不是正规的字符串
    
    char s3[] = "mj"; // 字符串"mj",会自动在尾部加上一个
}

// 输出字符串
void test1() {
    char s[] = "mj";
    printf("%s
", s);
    printf("%s
", "lmj");
    
    // printf可以输出多个字符串
    printf("%s %s %s
", "mj", "lmj", "ios");
    
    // puts只能输出一个字符串,puts会自动换行
    puts("ios");
    
    puts("ios");
}

// 输出字符串2:的作用
void test2() {
    char s1[] = {'l', 'm', 'j', ''};
    // puts(s1);
    
    char s2[] = {'m', 'j'};
    
    // 打印一个字符串
    // puts(s2);
    printf("%s", s1);
}

// 字符串的输入
void test3() {
    // itcast mj
    
    char s2[] = "mj";
    
    char s1[2];
    // s1就是数组的地址,所以不用&s
    // 输入完毕后,会自动在s1的尾部加一个
    // scanf("%s", s1);
    
    // 从s1这个地址开始赋值用户输入的字符序列
    // 在尾部会自动加上一个
    gets(s1);
    
    // 输出用户输入的字符串
    printf("s1 = %s
", s1);
    
    printf("s2 = %s", s2);
}

int main(int argc, const char * argv[])
{
    
    test3();
    return 0;
}
原文地址:https://www.cnblogs.com/liuwj/p/6899487.html