作业帮 > 综合 > 作业

这个C语言题目咋做?6阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.【程序】 #include

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/25 20:46:28
这个C语言题目咋做?
6阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.
【程序】
#include
main()
{
int i, j;
char ch, *p1, *p2, *s[4]={"four","hello","peak","apple"};
for(i = 0; i < 4; i++){
p1 = p2 = s[i];
ch = *(p1 + i);
while(*p1 != '\0'){
if(*p1 != ch){
*p2 = *p1;
p2++;
}
p1++;
}
*p2 = '\0';
}
for(i = 0; i < 4; i++)
printf("%s\n", s[i]);
}
【问题】
(21) 程序运行时,第1行输出 (21) .
A、our B、four C、fur D、fou
(22) 程序运行时,第2行输出 (22) .
A、ello B、hllo C、heo D、hell
(23) 程序运行时,第3行输出 (23) .
A、peak B、eak C、pek D、pak
(24) 程序运行时,第4行输出 (24) .
A、pple B、apple C、ale D、appe
说的清楚点,别只给我个答案好不.我看懂解释了我就追加分数
这个C语言题目咋做?6阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.【程序】 #include
此函数为将字符串指针数组s[i] 中,将各个字符串指针指向的字符串中除了与它当中第i个字符不相等的所有字符顺序输出,如对于 *s[0] = "four",ch='f',故输出 our
*s[1] = "hello",ch='e',故输出 hllo
因此输出结果依次为 A B C D
再问: while(*p1 != '\0'){ if(*p1 != ch){ *p2 = *p1; p2++; } p1++; } *p2 = '\0'; } for(i = 0; i < 4; i++) 后面这部分怎么看,我怎么都看不懂啊
再答: while(*p1 != '\0'){ //将每个字符串从第一个字符循环至结尾 if(*p1 != ch){ //做判断如果当前字符和ch 相等 将该字符前移 *p2 = *p1; p2++; } p1++; } *p2 = '\0'; } for(i = 0; i < 4; i++) // 输出四个字符串