jetbrains的CLion IDE定义一个声明一个交换函数报出警告函数“swap”未使用,但程序能正常运行?


#include<stdio.h>
int main(void)
{
    char str[80];
    int i,j;
    void swap(char*pa,char*pb);
    printf("请输入字符串: ");
    gets(str);
    for(i=0;str[i]!='\0';i++)
    {
        for (j = i + 1; str[j] != '\0'; j++)
        {
            if (str[i] > str[j])
                swap(&str[i], &str[j]);

        }
    }
    printf("排序后的字符串:%s\n",str);
    return 0;
}
void swap(char*pa,char*pb)
{
    char temp;
    temp=*pa;
    *pa=*pb;
    *pb=temp;
    
}

img

这个警告可以忽略。
if (str[i] > str[j]) 条件都不满足,swap确实没有执行。