我是一名C语言初学者,我现在遇到一个题目就是:输入10个数字,并且排序好后输出,但是我感觉我接下来的代码是对的啊,为什么输入的数字超过256就会一循环,难道是int的限制?求助,并且求好友。
#include<stdio.h>
int main()
{
char a[100];
long i,j,t,b;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(j=0;j<=9;j++)
for(t=0;t<=8;t++)
if(a[t]>a[t+1])
{
b=a[t];
a[t]=a[t+1];
a[t+1]=b;
}
for(i=0;i<=9;i++)
printf("%d\n",a[i]);
return 0;
}
代码如下
#include<stdio.h>
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");
}
整数就必须用int?char不可以替代么
追答也不是,一般情况下整数用int,你用char也可以 ,但是char只能表示0 - 255 或者-128 - 127。