C的新手,在编译时遇到一些麻烦

Mar*_*rus 1 c quicksort

当我编译几个简短的C程序时,我遇到了一些错误,我很遗憾发生了什么:

第一个给出了这些错误:

Q3.c:在函数âsort中:

Q3.c:11:警告:隐式声明函数âq_sortâ

Q3.c:顶级:

Q3.c:14:警告:âq_sortâ的冲突类型

Q3.c:11:注意:之前的"q_sort"隐式声明就在这里

Q3.c:在函数中:

Q3.c:52:警告:隐式声明函数âmallocâ

Q3.c:52:警告:内置函数âmalloc的不兼容的隐式声明

Q3.c:56:警告:隐式声明函数“

相关部分代码:

void sort(int* number, int n){
 /*Sort the given array number , of length n*/
 q_sort(number, 0, (n - 1));
}

void q_sort(int* numbers, int left, int right)
{
  int pivot, l_hold, r_hold;

  l_hold = left;
  r_hold = right;
  pivot = numbers[left];
  while (left < right)
  {
    while ((numbers[right] >= pivot) && (left < right))
      right--;
    if (left != right)
    {
      numbers[left] = numbers[right];
      left++;
    }
    while ((numbers[left] <= pivot) && (left < right))
      left++;
    if (left != right)
    {
      numbers[right] = numbers[left];
      right--;
    }
  }
  numbers[left] = pivot;
  pivot = left;
  left = l_hold;
  right = r_hold;
  if (left < pivot)
    q_sort(numbers, left, pivot-1);
  if (right > pivot)
    q_sort(numbers, pivot+1, right); 
}
Run Code Online (Sandbox Code Playgroud)

由于我的其他问题程序都使用相同的排序方法,并给出相同的错误,修复此问题将解决所有问题.

编辑:另一个问题.我在另一个程序上遇到此错误

Q5.c:在函数"stick"中:

Q5.c:29:警告:指针和整数之间的比较

Q5.c:29:警告:与字符串文字进行比较会导致未指定的行为

在这部分代码中:

void sticky(char* word){
     int i = 0;
     /*Convert to sticky caps*/
     while (word[i] !="\0"){    // line 29
          if (i%2 == 0)
                word[i] = toUpperCase(word[i]);
          else
                word[i] = toLowerCase(word[i]);
          i++;
     }
}
Run Code Online (Sandbox Code Playgroud)

Ema*_*ini 7

交换两个函数的定义...在C中,您必须首先声明(或定义)一个函数,并且只有在您可以使用它之后.

对于第二个问题:您必须使用单引号来定义字符.