请各位帮我看一下我的冒泡排序代码有什么问题
为什么跑不出正确结果?
#include <stdio.h>
int main(void){
int a[6] = {6, 7, 4, 3, 2, 1};
for( int p=5; p>=0; p--){
int flag = 0;
for( int i=0; i<p; i++){
if(a[i] > a[i+1]){
int mid = a[i];
a[i] = a[i+1];
a[i+i] = mid;
flag = 1;
}
}
if(flag == 0)
break;
}
for( int i=0; i<6; i++){
printf("%d", a[i]);
}
}