怎么做
- 题面里的虚线方框就是要填的空
- 点候选项,它会填进当前高亮的那个空
- 点已填好的空,可以把选项取回来重选
- 全部填满后「提交」才会亮起
卡住了就点右下角的 👩🏫 问 AI 老师,她会给提示但不直接给答案。
字符指针走字符串
字符串在内存里是一个字符挨一个字符排着,最后跟一个 '\0' 表示结束。所以字符指针可以像上一关那样「走」字符串:
char *p = s;:p 指向 s 的第一个字符,*p是一个字符;printf("%s", p):从 p 指的位置开始,一直输出到'\0';所以p + 2就是「从第 3 个字符开始」;- 遍历的固定写法:
while (*p != '\0') p++;,循环结束时 p 停在'\0'上。
字符数组和字符指针不一样:char s[] = "abc"; 是一个数组,内容能改,但 s 不能改去指别处;
char *t = "abc"; 让 t 指向一个字符串常量,t 可以改去指别的字符串(t = "xyz";),但不能改它的内容(t[0] = 'A'; 运行会出错)。
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[] = "campus";
char *p = s;
printf("%s\n", p + 3);
p = p + 1;
printf("%c %c\n", *p, *(p + 2));
printf("%d\n", (int)strlen(p));
return 0;
}
第一行输出【0】;第二行输出的两个字符依次是【1】【2】;第三行输出【3】。
请登录后作答。
去登录
👩🏫
AI
💬 题目评论
🔒
登录并作答后可看讨论