两道简单的C语言选择题。求解析

1、下面程序的功能是将已按升序排好的两个字符串a和b中的字符按升序并归到字符串c中。(所有答案填写在此空内,答案间以空格隔开)#include<stdio.h>#incl... 1、下面程序的功能是将已按升序排好的两个字符串a和b中的字符按升序并归到字符串c中。(所有答案填写在此空内,答案间以空格隔开)
#include<stdio.h>
#include<string.h>
main()
{
char a[]="acegikm";
char b[]="bdfhjlnpq";
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!=’\0’&&b[j]!=’\0’)
{
if(a[i]<b[j]){_______}
else{_______}
}
c[k]=’\0’;
if(_______)p=b+j;
else p=a+i;
strcat(c,p);
puts(c);
}
填空1:
(A)c[k++]=a[i++];
(B)c[k++]=a[j++];
(C)c[k++]=b[i++];
(D)c[k++]=b[j++];
填空2:
(A)c[k++]=a[i++];
(B)c[k++]=a[j++];
(C)c[k++]=b[i++];
(D)c[k++]=b[j++];
填空3:
(A)a[i]==’\0’
(B)a[i]!=’\0’
(C)b[j]==’\0’
(D)b[j]!=’\0’

注:主要是解析第三空。。我觉得B和C没什么区别啊。。而且P=B+J和P=A+I是什么意思?

2、
函数squeez(char s[],char c)的功能是删除字符串s中所出现的与变量c相同的字符。
squeez(char s[],char c)
{
int i,j;
for(i=j=0;填空1______;i++)
if(s[i]!=c)
填空2______;
s[j]=’\0’;
}

求答案及解析。
展开
 我来答
liubird
2011-12-11 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:928万
展开全部
第一、
1. A c[k++]=a[i++];
2. D c[k++]=b[j++];
3. A a[i] =='\0', 这题A、D都是一样的。
说明了字符串a已经读完了,如果a没有读完,那么b一定读完了, 到一步的时候,a,b两个串最多只有一个串还未读完。 p = b+j 是表示把指针p指像b数组的第j个元素。

第二、
第一空:s[i] != '\0' //循环一直到s的末尾
第二空:s[j++]= s[i];
这题的核心是, j指向字符需要赋值到的新的位置,i是执行字符在s串中的当前位置。
如下: 给定字符串 s="ab#c#d", 删除字符 c = '#'
当i=0, j=0时, 因为s[0] != '#', 直接复制 s[j] = s[i]; 并j+1,
下一次循环是i=1, j=1, 一样直接赋值。
再下一次: i=2, j=2, 因为s[i] == c了,所以不用复制, 只讲i加1
i=3, j=2, 这时s[3] != c, 执行复制, s[j]=s[2]=s[3],完后字符串变为 'abcc#d', j和i都加1
i=4, j=3 时,因为s[4] == c, 不用复制,只是将i+1
i=5, j=3时, 执行复制, s[j]=s[3]=s[5]='d', 字符串变为了 'abcd#d', i,j 都加1
i=6, j=4这是s[i]='\0',字符串扫描完了,退出循环。
最后s[j]=s[4] = '\0', 便得到了最后的字符串:'abcd'
不宜然EG
2011-12-11 · TA获得超过102个赞
知道答主
回答量:236
采纳率:0%
帮助的人:130万
展开全部
ACD
第3为什么选D,是因为
if(_______)p=b+j;
else p=a+i;
在为什么情况下,p才需要指向b?肯定是当b还没有结束的情况下。如果b已经结束,那么p就指向工a了。
P=A+I意思是,指针p指向A第J个元素的位置

s[i] != '\0'
s[j++] = s[i]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghj123h
2011-12-11 · TA获得超过2560个赞
知道小有建树答主
回答量:1792
采纳率:0%
帮助的人:375万
展开全部
ADC(第一题)第三孔的意思是:要把后面的部分连接上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Aimy8094
2011-12-22 · TA获得超过131个赞
知道答主
回答量:27
采纳率:0%
帮助的人:12.4万
展开全部
liubird说得太好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
525491211
2011-12-12
知道答主
回答量:23
采纳率:0%
帮助的人:6.4万
展开全部
自己的拾起自己煮哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
15200097793
2011-12-11
知道答主
回答量:3
采纳率:0%
帮助的人:4941
展开全部
acd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式