小编SAM*_*SAM的帖子

预测C代码中的缺陷

最近我参加了一次采访,有几个问题,我必须找到代码中的缺陷.以下是问题.

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)

我的回答是:

  1. NULL检查p.
  2. 错误的条件if(a == b).如果字符串的长度是偶数,则这种情况永远不会满足.

如果有人发现任何其他缺陷,请告诉我,并且欢迎任何对我给出的答案的评论.

c

1
推荐指数
1
解决办法
125
查看次数

标签 统计

c ×1