问题
单项选择题
阅读以下函数:
fun(char *s1,char *s2)
int i=0;
while(s1[i]==s2[i]&&s2[i]!='\0')i++;
return(s1[i]=='\0'&&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
答案
参考答案:C
解析: 在函数fun()中有两个字符型指针变量s1和s2,在函数中程序执行while循环,该循环退出条件有两个:一个是s1[i]!=s2[i](两个字符串不相等):第二个是s1[i]和s2[i]相等均为“\0”(两个字符串相等)。循环退出后,执行return语句,即两个字符串相等则返回1,不相等则返回0。所以, C选项为所选。