怎么做
  1. 题面里的虚线方框就是要填的空
  2. 点候选项,它会填进当前高亮的那个空
  3. 点已填好的空,可以把选项取回来重选
  4. 全部填满后「提交」才会亮起
卡住了就点右下角的 👩‍🏫 问 AI 老师,她会给提示但不直接给答案。

字符串的结束标志

👁️ 22 人浏览 💬 0 人评论 ❤️ 添加收藏

char s[8] = "dorm"; printf("%s", s) 从第 0 格打印到 '\0' 为止

d
o
r
m
\0
x
q
#

0

1

2

3

4

5

6

7

屏幕上:dorm(\0 后面的格子不管)

C 没有专门的「字符串类型」,字符串就存在 char 数组里,一格一个字符,最后自动跟一个 '\0'(编码为 0 的字符)表示「到这里结束」:

  • char s[10] = "dorm";:前 5 格是 d o r m \0,剩下的格子也是 0。数组要比字数至少大 1,给 '\0' 留位置。
  • printf("%s", s);:从 s[0] 开始一个个打印,遇到 '\0' 停。
  • scanf("%s", s);:读一个「词」,不加 &(数组名本身就是地址),遇到空格或换行就停,自动补 '\0'。
  • fgets(s, sizeof s, stdin);:读一整行(可以有空格),连行末的换行 '\n' 一起读进来,通常要把它去掉。二级教材里的 gets(s) 也是读一行,但它不检查长度、新标准已经删除,我们统一用 fgets。
  • puts(s);:输出 s 并自动换行。
#include <stdio.h>

int main(void)
{
    char s[10] = "campus";
    printf("%s\n", s);
    s[3] = '\0';
    printf("%s\n", s);
    printf("%d\n", (int)sizeof(s));
    return 0;
}

程序第二行输出【0】;第三行输出【1】;字符串 "campus" 连同结尾的 '\0' 一共占【2】个格子。

请登录后作答。
去登录
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论