C语言怎么调用函数
定义数组,和函数,输入20个数.用数组存储/用函数把数组的正数数字和负数数字分别存储在另外两个数组里.运行的时候它说主函数调用split函数错了.
#include<stdio.h>
int split(int,int,int);
int main()
{
int i,a[20],positive[20],negative[20];
for(i=0;i<=19;i++)
{
printf("Enter the number:\n");
scanf("%d",&a[i]);
}
split(a[20],positive[20],negative[20]);
printf("positive\t\tnegative\n");
for(i=0;i<=19;i++)
{
printf("%d\t\t%d\n",positive[i],negative[i]);
}
}
int split(int a[20],int positive[20],int negative[20])
{
int i;
for(i=0;i<=19;i++)
{
if(a[i]>=0)
positive[i]=a[i];
else
negative[i]=a[i];
}
return positive[i];
return negative[i];
}
追问:那如何让函数分辨存储正负数呢?我这程序分开存储不到正数负数.
答案:#include<stdio.h>int split(int*,int*,int*);
int main()
{
int i,a[20],positive[20],negative[20];
for(i=0;i<=19;i++)
{
printf("Enter the number:\n");
scanf("%d",&a[i]);
}
split(a,positive,negative);
printf("positive\t\tnegative\n");
for(i=0;i<=19;i++)
{
printf("%d\t\t%d\n",positive[i],negative[i]);
}
}
int split(int a[20],int positive[20],int negative[20])
{
int i;
for(i=0;i<=19;i++)
{
if(a[i]>=0)
positive[i]=a[i];
else
negative[i]=a[i];
}
return positive[i];
return negative[i];
}
你再试试
你的代码错了很多,第一点,split函数应该是void 因为你直接对数组的地址进行了操作!
第二点,你的main函数的for循环 没有考虑到数组有些数组元素的值是不可预知的,
第三点,你的数组应该有结束符号'\0'。
int split(int,int,int);这里错了啊,形参不是这样的啊,是这样的啊int split(int a,int b,int c);这样才能调用啊,没有你这样的定义一个外部函数的
上一个:C语言要怎样入门?
下一个:C语言程序[编程]