C语言如何返回值

Python021

C语言如何返回值,第1张

首先说明一下你的程序的问题与缺陷:

1: return语句 只能返回一个值,而不能写成 “return h,l”

2:你在main()中定义了h,l,而在调用cal()时,又定义了h,l,这两个h,l是完全不同的两组。即使你为cal()里的h,l赋值,那么返回到main()时,h,l仍然为0.

3:你在cal()里的scanf写的不好。两个%d之间最好什么都没有,加了逗号,可能会在读取时,h,l赋值错误。(具体请看我下面的程序)

下面是我的解法:

先问一下,你用的是TC2.0还是VC6.0?

如果是VC6.0,那么可以使用引用类型:

/*法一:使用引用*/

#include<stdio.h>

void cal(int&ch, int&cl)    /*声明ch,cl为引用类型*/

void main()

{

   int h=0,l=0

   cal(h, l)            /*这里将h,l传入cal()*/

   printf("%d,%d",h,l)    

}

void cal(int &ch, int &cl)

{

    scanf("%d%d",&ch,&cl)/*这里为ch,cl赋值*/

}

TC2.0中好像不支持引用类型。我没测试。

-------------------------

如果是TC2.0,那么可以使用指针

/*法二:使用指针*/

#include<stdio.h>

void cal(int *ph, int *pl)    /*这里将ph,pl声明为指针*/

void main()

{

   int h=0,l=0

   cal(&h, &l)        /*将变量h,l地址传过去。*/

   printf("%d,%d",h,l)

}

void cal(int *ph, int *pl)

{

    scanf("%d%d",ph,pl)    /*为ph,pl赋值*/

}

------------------

以上两种方法都可以解决你说的问题。

有问题请追问。

return后接一个值。\r\n在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值\r\n就声明\r\nint func()\r\n在调用它的比如main里面\r\nfunc()的作用就可以相当于一个int型常数\r\n比如外面定义了\r\nint max(int a,int b)\r\n{\r\nreturn a>b?a:b\r\n}\r\n主函数里面是\r\nmain()\r\n{\r\nint A\r\nA=max(1,2)\r\n}\r\n这时候就是通过max计算 1>2 则return 一个1 ,1 回答于 2022-11-16