最近我参加了一次采访,有几个问题,我必须找到代码中的缺陷.以下是问题.
void fun(char *p)
{
int a = 0;
int b = strlen(p) - 1;
int d = 0;
while(d == 0)
{
if(a == b)
{
d = 1;
}
else
{
char t = *(p + a);
*(p + a) = *(p + b);
*(p + b) = t;
a += 1;
b -= 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的回答是:
NULL检查p. if(a == b).如果字符串的长度是偶数,则这种情况永远不会满足.如果有人发现任何其他缺陷,请告诉我,并且欢迎任何对我给出的答案的评论.
c ×1