| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
代码 
#include<stdio.h> 
int main() 
{ 
        int a[10]={1,4,22,4,1,55,9,1,2,53}; 
        int i,j; 
        for(i=0;i<sizeof(a)/sizeof(int);i++) 
        { 
                printf("%d\n",a[i]); 
        } 
        for(i=0;i<10;i++) 
        { 
                for(j=0;j<10-i;j++) 
                {       if(a[j]>a[j+1]) 
                        { 
                                int t=a[j+1]; 
                                a[j+1]=a[j]; 
                                a[j]=t; 
                        } 
                } 
        } 
        for(i=0;i<sizeof(a)/sizeof(int);i++) 
        { 
                printf("%d\t",a[i]); 
        } 
        printf("\n"); 
        return 0; 
} 
~        
 
对一个数组进行两次输出,一个是未处理前,第二个是经过冒泡排序后,多次运行生成的可执行文件会为什么出现不同的结果 
  
 
./array03                                        第一次运行结果 
1         
4 
22 
4 
1 
55 
9 
1 
2 
53 
-621205760      1       1       1       2       4       4       9       22      53 
*** stack smashing detected ***: terminated 
Aborted (core dumped) 
 
 
 
 ./array03                        第二次运行结果 
1 
4 
22 
4 
1 
55 
9 
1 
2 
53 
1       1       1       2       4       4       9       22      53      55 
 |   
 
 
 
 |