你的数组a[100]定义为了char型,而char型只有8位,数值只能从-128到127。char型确实可以当作整数来用,我们单片机编程都经常这样用,单片机内存较小,我们要根据变量的需求,定义好长度,用什穗祥么类型最好是自己算过的。char是有符号8位长度的数据类型2的8次方为256,既然是有符号碧族穗,最高位就作为符号位为0则是正数,为1则是负数,所以范悔卜围是从-128到127。
如果是char, 最大整数是-128~127,所以256早就溢出了。
代码卖迟如下
#include
void main(){
int a[10],x;
int i,j;
printf("输入需要排序的十个数,空格隔戚大开\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<高配竖10-1;i++)
{
for(j=0;j<10-1-i;j++)
{
if(a[j]>a[j+1])
{
x=a[j];
a[j]=a[j+1];
a[j+1]=x;
}
}
}
printf("排序后:\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
char a[100];换成int a[100];