若有以下函数: int fun(char*a,char*b) {int bk=0: while((*a!=’\0’)&&(*b!=’\0’)&&strlen(a)==strlen(b)) {if(*b!=*a){bk=0;break;} a++;b++;b

admin2021-06-15  30

问题 若有以下函数:
int fun(char*a,char*b)
{int bk=0:
while((*a!=’\0’)&&(*b!=’\0’)&&strlen(a)==strlen(b))
{if(*b!=*a){bk=0;break;}
a++;b++;bk=1;
}
return bk;
}
此函数的功能是(  )。

选项 A、判断a和b两个字符串是否相等
B、将字符串a改名为字符串b
C、将字符串变量a的值赋给字符串变量b
D、检查字符串a和b中是否有’\0’

答案A

解析 分析程序可知:函数fun在字符指针a和b未遇到字符’\0’且a指向的字符串A长度b指向的字符串B长度相同时,遍历A、B,逐个比较a指向的字符与b指向的字符是否相同,所以程序分3种情况:①A的长度与B的长度不同,返回值为0;②A的长度与B的长度相等,但A中某个位置i上的字符与B中位置i上的字符不同,返回值为0;③A的长度与B的长度相等,且A中相同位置上的字符与B中相同化置上的字符全部相同,返回值1,由此可知函数的功能是判断a和b指向的两个字符串是否相等。答案为A。
转载请注明原文地址:https://kaotiyun.com/show/ictp777K
0

最新回复(0)