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

admin2020-11-27  41

问题 若有以下函数:
    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://jikaoti.com/ti/8pD0FFFM
0

最新回复(0)