用function call array with pointer的问题
Write a program to input marks, sort and display the sorted marks. Use the following function prototypes:-void fillArray (int *, int); - to input marks into a one dimensional (1-D) array
void swapArray(int *, int); - to swap the array elements
void printArray (int *, int); - to print the array elements
sample output:
Enter 5 marks : 45 66 12 34 55
Marks in ascending order = 12 34 45 55 66
为什么我在compile后得到的答案不对?
我已经用上网找的所谓冒泡法....
大大看我有什么做错.......
我输入 5 9 66 44 3
答案是 9 66 44 3 5
还有在linux的os下有时竟然不能运行,windows的C pelles既然好好的
有时候出现什么segmention fault(不知有写对吗)
但在windows下有好好的,但用另一个dev++在compile后并输入数据后无端端推出
c是不是并没有在全部的compiler有一个标准??
不说用不同的电脑,在同一个电脑室里,我朋友明明和我一样的代码既然output不一样......zzzz
╮(╯▽╰)╭
#include <stdio.h>
void fillArray(int*,int);
void swapArray(int*,int);
void printArray(int*,int);
int main()
{
int marks[5],swap_marks,size=5;
fillArray(marks,size);
swapArray(marks,swap_marks);
printArray(marks,size);
return 0;
}
void fillArray(int *marks,int size)
{
int i;
printf("Enter 5 marks : ");
for(i=0;i<size;i++)
{
scanf("%d",&marks[i]);
}
}
void swapArray(int *marks,int swap_marks)
{
int i,j;
for(i=0;i<5;i++)
for(j=i;j<5;j++)
if(marks[i]>marks[j])
{
swap_marks=marks[i];
marks[i]=marks[i+1];
marks[i+1]=swap_marks;
}
}
void printArray(int *marks,int size)
{
int i;
printf("Marks in ascending order : \n");
for(i=0;i<=4;i++)
{
printf("%d\t",marks[i]);
}
}