这样不行的,需要用一个额外的字符数组,如下:char tmp[30];strcpy(tmp,p+j);strcpy(p+j,p+j+1);strcpy(p+j+1,tmp);需要包含string.h头文件
其实这样交换也是可以的。问题是你得冒泡排序循环次数写错了。数组大小为5,那么循环应该是for(i=0;i<4;i++)for(j=0;j<4-i;j++)