怎么做
- 题面里的虚线方框就是要填的空
- 点候选项,它会填进当前高亮的那个空
- 点已填好的空,可以把选项取回来重选
- 全部填满后「提交」才会亮起
卡住了就点右下角的 👩🏫 问 AI 老师,她会给提示但不直接给答案。
删除字符的双下标写法
删掉 *:i 扫过每一格,留下的依次写到 s[j],最后补 '\0'
i
j
h
*
i
*
*
!
h
i
!
\0
二级操作题里字符串处理出得最多,删除、筛选几乎都用这一个套路:i 从头读到尾,j 只在「留下」时往前写。s[j++] = s[i]; 是先把 s[i] 写到 s[j],再让 j 加 1。最后别忘了在 s[j] 放 '\0'。
#include <stdio.h>
int main(void)
{
char s[20] = "a-b--c";
int i, j = 0;
for (i = 0; s[i] != '\0'; i++)
if (s[i] != '-')
s[j++] = s[i];
s[j] = '\0';
printf("%s %d\n", s, j);
return 0;
}
程序输出的字符串是【0】,j 最后等于【1】;如果删掉 s[j] = '\0'; 这一行,输出的字符串会变成【2】。
请登录后作答。
去登录
👩🏫
AI
💬 题目评论
🔒
登录并作答后可看讨论