程序写得实在有点乱,变量名的声明与传递存在些问题,我帮你改改:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的永泰网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
#include stdio.h
#define N 5
int a[N];
void init(void);
void compare(void);
void disp(void);
void main()
{
// printf("")
init();
compare();
void disp();
}
void init(void)
{
a[N]={2,1,4,9,5};
}
void compare(void)
{
int i,j,t;
for(i=0;iN;i++)
for(j=i+1;jN;j++)
if(a[i]a[j])
{
t=a[i];
a[i]=a[j]
a[j]=t;
}
}
void disp(void)
{
int i;
for(i=0;iN;i++)
{
printf("%4d",a[i]);
}
}
程序改了很多,为什么?
数组a 定义为局部变量,你传递了却没返回,这样使用不了,我改为了全局变量,这样不需要传递,直接使用就行。
函数传递的另一个变量N 不需要传递,因为本身N就是个全局变量,直接使用就行。
还有一些定义了却没使用的变量我直接删了。
你先编译运行一下,有错再回复。
希望我的回答能帮助到你。
main()函数里面的float add(float x, float y);是对add函数的声明,告诉main()函数下面会有add函数的具体内容的,可以往下执行;后面的那个才是add函数体的开始标志。要是不加这一句,就需要把后面的add函数的函数体放到main()函数的函数体前面去,这样编译器在编译main()函数体之前就知道有这个add函数了,否则编译器会认为文件中没有add函数而报错,停止编译。
#includestdio.h
void main()
{
int a;
printf("请输入一个数字");
scanf("%d",a); 因为你要输入的是数字型。,当你输入字符时a无法接受
printf("%d",a); 即:相当没有输入,只有输出,只输出a的原值:一大段数字
} (因为a还没有赋值)如果:如下
输入一个字符,输出的还是a原来的赋值即:a=10.。
#includestdio.h
void main()
{
int a=10;
printf("请输入一个数字");
scanf("%d",a);
printf("%d",a);
}
#include stdio.h
#include stdlib.h
double My_fabs(double x)
{
if(x0)
x=-x;
else
if(x=0)
x=x;
return x;
}
int main (void)
{
duble x; //这里由int改成double
printf("请输入一个数:");
scanf("%lf",x); //把f改成lf
printf("输出为:%lf\n",My_fabs(x));)//把f改成lf
system("pause");
return 0;
}