c语言返回值问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:26:52
c语言中 有的主调函数为void,有的被调函数为void,具体是什么意思
例如
int max(int a,int b)
{
if(a>b)return a;
else return b;
}
void main()
{
int max(int a,int b);
int x,y,z;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
主函数带void 是什么意思
void change(int x,int y)
{int temp;
temp=x;x=y;y=temp;
printf("%d%d\n",x,y);
}
main()
{int a,b;
printf("input two numbers:\n");
scanf("%d%d",&a,&b);
change(a,b);
printf("%d%d\n",a,b);
getch();
}
被调函数带void是什么意思
void main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",

不管是主调函数还是被调函数 它们前面加void表示这个函数是空函数 整个程序运行后没有返回值

void main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}
这个程序的意思:

先定义的一个函数:
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}
n为形参
你可以假设n=3时 ;进行for循环 然后执行语句n=n+i
整个程序从main函数开始 到第六行是s(n)时就调用下面的函数 将输入的n值付给形参

不管带不带void,函数均要有返回值。函数带void表示该返回值被舍弃不用,通常用在不需要把值传出的函数中。

函数带返回值表示该返回值将被使用,具体由哪个函数、在什么时间使用是不确定的。

main()函数应当只返回int类型的值,void main()其实并不符合ANSI C规范,但为了与以前的代码兼容,所以编译器允许main的返回类型为void。

ANSI C标准相比与之前的K&R C参考而言,一个显著的变化就是增加了函数的返回类型的审查,这样的好处是编译器在编译源程序时就可以对程序进行检查,一方面确保主调函数正确地调用了被调函数,另一方面确保该函数的返回值类型与其所声名的类型一致。这样能大大提高代码的正确性。

你的程序只是返回