问两道有关c语言字符指针的问题,请将程序每一步的意思告诉我,谢谢啦

1.下面函数的功能是。sss(char*s,char*t){while((*s)&&(*t)&&(*t++==*s++));return(*s-*t);}A.求字符串的长... 1. 下面函数的功能是 。
sss(char *s ,char *t )
{ while((*s)&&(*t)&&(*t++== *s++)) ;
return(*s-*t) ; }
A. 求字符串的长度 B. 比较两个字符串的大小
C. 将字符串s 复制到字符串t 中 D. 将字符串s 接续到字符串t 中
2. 下列函数的功能是 。
int fun1(char * x)
{ char *y=x;
while(*y++) ;
return(y-x-1);}
A. 求字符串的长度 B. 比较两个字符串的大小
C. 将字符串X 复制到字符串Y D. 将字符串X 连接到字符串Y 后面
展开
 我来答
scookiem
2011-08-25 · TA获得超过839个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:68.3万
展开全部
第一题答案:B。理由:*s与*t都是取出此时地址存储的值,while()语句里面的意思是,当指针带睁握姿s与t都不为空并且s指向的值等于t指向的值。。。当s或者t为空或者t与s指向的蠢皮岁值不同时,while()结束,返回此时s指向的值减去t指向的值,所以为比较两个字符串的大小;
第二题答案:A。理由:x的地址赋值给y,while()语句的功能就是当y不为空时自加1,当y为空时退出while()循环,此时y为字符串尾数,减去x减去1就是字符串长度
jxfmw257iou
2011-08-23 · TA获得超过662个赞
知道小有建树答主
回答量:952
采纳率:100%
帮助的人:550万
展开全部
char *toc(const char *a, const char *b, char *c)
{
char *pc = c;

if (a == NULL || b == NULL || c == NULL)
return c;

while(*a != '\0' && *b != '拆绝庆\宏镇0')
{
*c = (*a > *b) ? *a : *b;
a++;
b++;
c++;
}
*c = '\0'旅握;

return pc;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feizixiaoqing
2011-08-22
知道答主
回答量:22
采纳率:0%
帮助的人:17.3万
展开全部
1,B
解释如下:while语句(*s)&&(*t)&&(*t++==*s++)一句,当s串与t串不为NULL时,并且当拆圆他们对应位置虚御没上的字符不相等时,返回(*s-*t);
若结果大于0;串一大于串差纳二;
若结果为零,两串相等
类推;
2,A
解释如下:
程序将串x头指针赋值给y指针,然后对y运算,当y指向的字符为空时,返回
返回(y-x-1)求串长;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户23180
2011-08-22 · TA获得超过240个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:351万
展开全部
出错的地方:
for(i=0;s2[i]!='\0';i++)
{p[j+1]=&s2[i];
j=j+1;}
原因:在上一个循环中i已经指向了下一晌坦个填充的地方,而j+1则让这个地方跳过去了,宴没桐该地址没有被更新,于是,最终程序访问了非法的地察枯址。

改正:

p[j]=&s2[i];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-22
展开全部
1.B
2.A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式