c语言 写两个子函数 一个输入一个输出 为什么我的代码不能实现
#include<stdio.h>voidinput();voidoutput();voidmain(){intn;input();output();}voidinput...
#include<stdio.h>
void input();
void output();
void main()
{
int n;
input();
output();
}
void input()
{
int i,b[20];
printf("输入%d个数:\n",n);
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
}
void output()
{
int i,b[20];
printf("这些数字是:\n");
for(i=0;i<n;i++)
{
printf("%4d",b[i]);
}
} 展开
void input();
void output();
void main()
{
int n;
input();
output();
}
void input()
{
int i,b[20];
printf("输入%d个数:\n",n);
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
}
void output()
{
int i,b[20];
printf("这些数字是:\n");
for(i=0;i<n;i++)
{
printf("%4d",b[i]);
}
} 展开
展开全部
#include <stdio.h>
void input();
void output();
int n; //既然不传参
int b[20]; //就搞成全局变量
void main()
{
input();
output();
}
void input()
{
int i;
printf("输入个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
}
void output()
{
int i;
printf("这些数字是:\n");
for(i=0;i<n;i++)
{
printf("%4d",b[i]);
}
}
输入个数:
3
12
43
56
这些数字是:
12 43 56Press any key to continue
更多追问追答
追问
谢谢!如果不用全局变量的话应该怎么做呢?辛苦了💦
追答
那就需要传参了
我改一份给你
#include <stdio.h>
void input();
void output();
void main()
{
int n=0;
int b[20];
input(b,&n);
output(b,n);
}
void input(int *a,int *n)
{
int i,num=0;
printf("输入个数:\n");
scanf("%d",&num);
*n=num;
for(i=0;i<num;i++)
{
scanf("%d",&*(a+i));
}
}
void output(int *a,int n)
{
int i;
printf("这些数字是:\n");
for(i=0;i<n;i++)
{
printf("%4d",*(a+i));
}
}
输入个数:
3
11 22 33
这些数字是:
11 22 33Press any key to continue
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询