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

admin2021-06-15  20

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

选项 A、判断a和b两个字符串的长度是否相等
B、将字符串a改名为字符串b
C、将字符串变量a的值赋给字符串变量b
D、判断a和b两个字符串是否相等

答案D

解析 函数fun在字符指针a和b未遇到字符’\0’且a指向的字符串长度与b指向的字符串长度相同时,遍历两个字符串,并逐个比较a指向的字符与b指向的字符是否相同,所以程序结果是:①两个字符串长度不同,返回0;②两个字符串长度相等,但两个字符串上的个别字符不同,返回值为0:③两个字符串长度相等,字符串上的相同位置上的字符全部相同,返回值1。因此,此函数的功能是判断两个字符串是否相等。
转载请注明原文地址:https://jikaoti.com/ti/pWz0FFFM
0

最新回复(0)