肝硬化反复发烧会怎样:c语言设计y

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 18:47:09
??(37) 阅读以下函数
??fun(char *s1,char *s2)
??{ int i=0;
??while(s1[i]==s2[i]&& s2[i]!='\0')i++;
??return(s1[i]== && s2{i}!=='\0');
??}
??此函数的功能是
??A) 将s2所指字符串赋给s1
??B) 比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
??C) 比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
??D) 比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
谁能说明一下个行的意思
说的越详细越好

你的函数应该是这样的吧:
fun(char *s1,char *s2)
??{ int i=0;
??while(s1[i]==s2[i]&& s2[i]!='\0')i++;
??return(s1[i]==s2[i]&& s2[i]!=='\0');
??}
此函数将字符串s1和s2从0位置开始比较,如果对应位置相同就向前推进,即i++.最后返回的是最近的一次比较值,如果s1[i]!=s2[i]或s2的字符串结束了,比较值是0,返回0;如果s1[i]=s2[i]并且s2的字符串没结束,比较值是1,返回1。
返回0的情况有:s1和s2有对应位置不同,或是s2比s1短。
返回1的情况有:s1和s2完全相同,或是s2比s1长且对应的部分都相同。
经此分析,应该选C.

题目有问题,暂时看下来是答案感觉是C

此函数中的两个字符串s1、s2分别取其第0、1、2……个字符比较,若有不相同就跳出循环,然后,返回的东西里面有问题