关于C语言函数调用这块儿不是很熟练,特别是数组和函数调用,最近疯狂掉坑,给大家总结一下我进过的坑有哪些.
首先数组问题,由于没学过倒序插入法,只知道大概意思(就是从后边依次比较大小,换位放在合适的地方) 下面是错误示范,当时只想着比较后,插入,然后把整个数组扩大,位置向后推,特别笨哈哈.
(错误示范)
int main()
{
int a;
int arr[6] = { 0,1,2,4,5,7 };
scanf("%d", &a);
for (int i = 0; i < 6; i++)
{
if (a < i)
{
while (i<6)
{
arr[i + 1] = arr[i];
}
arr[i] = a;
}
else
{
arr[6] = a;
}
}
return 0;
}
经过老师指导,了解这个实现方法是把数组一开始就加进去,然后依次和前一位比大小,向前移,下面是正确方式,一下子茅塞顿开.
int main()
{
int arr[7] = { 0,1,2,4,5,7 };
scanf("%d", &arr[6]);
for (int i = 6; i >= 0; i--)
{
if (arr[i] < arr[i - 1])
{
int t = arr[i - 1];
arr[i - 1] = arr[i];
arr[i] = t;
}
else
{
break;
}
}
for (int i = 0; i <= 6; i++)
{
printf("%d ", arr[i]);
}
return 0;
}