当我编译几个简短的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)