c语言基础 C语言,可变长数组?
浏览量:1363
时间:2021-03-11 13:26:55
作者:admin
C语言,可变长数组?
我不会看冒泡排序的算法部分。我直接告诉你,你不知道错误的原因。你的第一种写作方式:int n=1,a[n],I=0,j=0,k=0。这里定义了n=1,在这一行中还定义了[n]。然后编译器将在这里直接为序列a分配内存。也就是说,确定阵列A的大小,即1。我不知道你是否学会了内存分配。我给你一个简短的解释。您可以在线搜索详细信息。例如,一个具有五种整数类型的数组可以定义为[5],但也可以按如下方式获得:int*a=(int*)malloc(sizeof(int)*5)也就是说,我们将内存分配给一个指针以获得一个数组。[5]的定义还要求编译器在编译程序时分配内存。编译器将根据您的代码优化您的程序,并将代码转换为汇编代码。另外,机器代码说得太多了。我将继续分析修改后的代码int n=1,I=0,j=0,K=0printf(“please input the length of the array:”)scanf(%d“,&n)int a[n];//此时,由于您在声明数组之前读入了n,因此a是根据您输入的数字确定的数组大小。你知道我的意思吗?
C语言编写一个函数排序调用?
Bubble method
void Bubble(int a[,int len)
{
int i,J,temp
for(i=0I< len-1I)
{
for(J=len-1J> ij--
if(a[J]< a[J-1])
{
temp=a[J-1
]a[J
]a[J]=temp
}}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。