只能是实参传递值给形参,在调用的过程中无论形参的值怎么改变,实参的值都不会改变。!!!
用static静态局部变量可以使主函数调用一次后保留调用函数中的一些数值,知道整个程序结束再释放,
#include <stdio.h>
#include <stdlib.h>#include<string.h>
void max(int a);//函数声明位于main上并且需要用冒号!
int b[10];//定义全局变量位于main函数上。并且全局变量可以在主从函数上直接使用。一般用于返回多个值时使用
int main()
{
int a;
int i;
scanf("%d",&a);
max(a);
for(i=0;i<a;i++)
printf("%d",b[i]);
return 0;
}//调用函数需要与主函数的大括号分开
void max(int a)
{
int j;
for(j=0;j<a;j++)
b[j]=1;
}
数组参数进行传递时传递的是地址,因此当调用函数改变数组里的值之后,数组返回主函数,其值也会跟着改变!!
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void max(int a[]);
int main()
{
int a[10];
int i;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
max(a);
for(i=0;i<4;i++)
printf("%d",a[i]);
return 0;
}
void max(int a[])
{
int j;
for(j=0;j<4;j++)
a[j]=1;
}输出的答案是1111