C语言数组的输入输出函数
1、函数arrDisp中,for循环之中,不能定义变量,变量应该在函数开头声明。
2、变量j未定义
3、在main函数调用arrDisp函数时,一般是以数组名传递参数。
4、在arrDisp函数中,for循环下的printf函数,应该调用数组a[j]的元素做为输出。
代码如下:
#include <stdio.h>
void arrDisp(int a[], int n)
{
int j;
for(j=0;j<n;j++)
{
printf("%d",a[j]);
if(j%8==0)
printf("\n");
}
}
void main()
{
int n,i;
int a[100];
printf("要输入数的个数为:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
arrDisp(a, n);
}
补充在VC中编译时,编译器提示#include "stdafx.h" 时多余的。
如果你在ToburC2.0 编译还会出现变量定义的位置错误;
因为C语言要求变量的定义必须在代码块开头定义,for(int j=0;j<n;j++)中放入int j=0,没有在代码块开头。
c语言输入数组的函数
代码示例:
void print_array(int *arr, int len);
void sort_array(int *a, int n);
int main(void)
{
//建立一个无序的数组
int a[] = { 10,11,2,3,5,88,4,6,4,32,12 };
//获取元素个数
int n = sizeof(a) / sizeof(a[0]);
printf("排序前\n");
//首先进行一次输出,数组、长度作为输入参数
print_array(a, n);
//给数组排序
sort_array(a, n);
printf("排序后\n");
//再次输出数组的元素
print_array(a, n);
printf("\n");
system("pause");
return 0;
}
void print_array(int *arr, int len)
{
int n = sizeof(arr) / sizeof(arr[0]);//元素个数
printf("指针型数组长度%d\n",n);
int i = 0;
for ( i = 0; i < len; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void sort_array(int *a, int n)
{
int i, j;
int temp;
//选择法排序
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}

