怎么做
- 题面里的虚线方框就是要填的空
- 点候选项,它会填进当前高亮的那个空
- 点已填好的空,可以把选项取回来重选
- 全部填满后「提交」才会亮起
卡住了就点右下角的 👩🏫 问 AI 老师,她会给提示但不直接给答案。
字符串的结束标志
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
💬 题目评论
🔒
登录并作答后可看讨论