c语言数组指针问题?
定义一个数组stu[10],存放10个学生成绩,用指针完成排序啥的,每次运行到排序就崩溃,不知道问题在哪#include<stdio.h>voidInput(int*p)...
定义一个数组stu[10],存放10个学生成绩,用指针完成排序啥的,每次运行到排序就崩溃,不知道问题在哪
#include<stdio.h>
void Input(int* p);
void Output(int* p);
void Sort(int* p);
int stu[10];
int* p =stu;
int main() {
int i;
Input(p);
Output(p);
Sort(p);
for( i = 0; i < 10; i++){
printf("%s",stu[i]);
}
}
void Input(int* p) {
int i;
for (i = 0; i < 10; i++, p++) {
scanf("%s", p);
}
}
void Output(int* p) {
int i;
for (i = 0; i < 10; i++, p++) {
printf(" %s", p);
}
}
void Sort(int* p) {
int i, j, temp;
for(i = 0; i < 10; i++) {
for( j = 0; j = 10 - i; j++) {
if( stu[j] < stu[j + 1]) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
} 展开
#include<stdio.h>
void Input(int* p);
void Output(int* p);
void Sort(int* p);
int stu[10];
int* p =stu;
int main() {
int i;
Input(p);
Output(p);
Sort(p);
for( i = 0; i < 10; i++){
printf("%s",stu[i]);
}
}
void Input(int* p) {
int i;
for (i = 0; i < 10; i++, p++) {
scanf("%s", p);
}
}
void Output(int* p) {
int i;
for (i = 0; i < 10; i++, p++) {
printf(" %s", p);
}
}
void Sort(int* p) {
int i, j, temp;
for(i = 0; i < 10; i++) {
for( j = 0; j = 10 - i; j++) {
if( stu[j] < stu[j + 1]) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
} 展开
2个回答
展开全部
%s 改成 %d,另外在必要的地方用\n分一下行。排序里下标错误,修改如下
void Sort(int* p) {
int i, j, temp;
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (stu[j] < stu[j + 1]) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
}
void Sort(int* p) {
int i, j, temp;
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (stu[j] < stu[j + 1]) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询