字符串各种赋值方式与输出的问题

填空题


// 一维字符数组的使用
#include <stdio.h>
int main()
{
    char a[5] = 【代码1// 模仿整型一维数组的初始化格式,将数组初始化为books。
    char b[] = {'b', 'o', 'o', 'k','s'};
    char c[]= "未来学院21级";                   //原来是需要填空的

    // 按数组元素输出
    int i;
    printf("按数组元素方式输出:\n");
    for (i = 0; i < 5; i ++)
        printf("%c\t", a[i]);
    printf("\n");
    for (i = 0;i < 5;i++)                            //原来是需要填空的
        printf("%c\t", b[i]);                          //原来是需要填空的
    printf("%s\n", c);                  //原来是需要填空的

    // 按数组名输出
    printf("按数组名方式输出:\n");
    printf("%s\n", a);
    【代码2// 按数组名的方式输出数组b中的元素。
    printf("%s\n", c);                       //原来是需要填空的
    return 0;
}

代码1模拟一维数组的初始化格式不是{ 'b','o','o','k','s' }吗,可是这样打后面输出a数组时会多出”烫……“这些东西。
代码2输出用%s,后面同样会出现”烫……“,使用%c会出现一个矩形。