C 泡沫问题
我在C中构建一个气泡时遇到了一些问题。我试图简单地让它在排序之前、期间和之后吐出数组,我遇到了一些问题。 值得一提的是,这将是我在C语言中的第一个程序。 以下是我正在研究的内容C 泡沫问题,c,arrays,sorting,pointers,bubble-sort,C,Arrays,Sorting,Pointers,Bubble Sort,我在C中构建一个气泡时遇到了一些问题。我试图简单地让它在排序之前、期间和之后吐出数组,我遇到了一些问题。 值得一提的是,这将是我在C语言中的第一个程序。 以下是我正在研究的内容 #include <stdio.h> #define MAX 9 void printValues(); void sort(); void swap(int*, int*); int values[] = {7, 3, 9, 4, 6, 1, 2, 8, 5}; int main(void){
#include <stdio.h>
#define MAX 9
void printValues();
void sort();
void swap(int*, int*);
int values[] = {7, 3, 9, 4, 6, 1, 2, 8, 5};
int main(void){
printf("Before: \n");
printValues();
sort();
printf("After: \n");
printValues();
return(0);
}
void printValues(){
int i;
printf(" List before arranging: \n[");
for (i = 0; i < 9; ++i){
printf(" %d "values[i]);
}
printf("]\n");
}
void sort(){
int i, j;
for (i = 0; i < 9; i++){
for (j = 0; j< 9-i; j++){
if (values[j] < values[j+1]){
swap((values + j), (values + j +1));
}
}
}
}
void swap(int x, int y){
int temp = *x;
*x = *y;
*y = temp;
}
我正试图掌握指针的窍门,但我没有找到我留下的帮助。有什么帮助吗?我想你把数组和指针混合在一起了,因为你写的是[j]*而不是(values+j),你写的是pass integer而不是inn pointer你的代码中充满了拼写错误。这就是大多数信息的内容。第一个警告是由于
main
应声明为intmain(void)
。请注意,每条消息都包含行号和列号,例如,bubble。c:48:2
表示问题出现在第2列的第48行。已解决问题。抱歉。你解决了所有的问题,还是只解决了编辑中更改的问题?编辑。我试着查找与掉期相关的问题,但在过去的几个小时里几乎没有成功。已更改帖子以反映更改。最好重新编译并发布更新的错误消息。这是C语言的标准工作流程。修复一些错误,然后重新编译,看看还有哪些错误。我将如何重写它?
bubble.c:29:16: error: expected ‘)’ before ‘values’
printf(" %d "values[i]);
^
bubble.c: In function ‘sort’:
bubble.c:39:20: error: expected expression before ‘,’ token
swap(values[j]*, values[j+1]*);
^
bubble.c:39:34: error: expected expression before ‘)’ token
swap(values[j]*, values[j+1]*);
^
bubble.c: At top level:
bubble.c:45:6: error: conflicting types for ‘swap’
void swap(int x, int y){
^
bubble.c:11:6: note: previous declaration of ‘swap’ was here
void swap(int*, int*);
^
bubble.c: In function ‘swap’:
bubble.c:46:13: error: invalid type argument of unary ‘*’ (have ‘int’)
int temp = *x;
^
bubble.c:47:2: error: invalid type argument of unary ‘*’ (have ‘int’)
*x = *y;
^
bubble.c:47:7: error: invalid type argument of unary ‘*’ (have ‘int’)
*x = *y;
^
bubble.c:48:2: error: invalid type argument of unary ‘*’ (have ‘int’)
*y = temp;
^