C/C++自定义函数、返回值

您所在的位置:网站首页 返回值怎么写 C/C++自定义函数、返回值

C/C++自定义函数、返回值

2023-12-15 01:44| 来源: 网络整理| 查看: 265

1、调用函数一定是在int main()外的 2、调用的子函数没有返回值,用void,否则会报错子函数没有返回值。 ①有返回值

根据返回值类型来定义为int,并且在子函数结尾一定要写上return result(需要返回的值)

int main中需要定义一个新的变量去接收子函数返回的值

 

变量地址作为返回值

全局变量的生命期是永恒的,如果返回一个局部变量的地址会出现问题(变量在子函数中或者在if语句后出现都会随着程序的运行时变量失效)

#include int* get() { int num=1; return # } int main() { int* p=get(); *p=12; //p指向的变量已经失效,不能用星号操作 return 0; }

用法错误 ,因为get()函数返回的是一个局部变量的地址,当get()获取局部变量的地址返回后,局部变量num的生命周期结束,从而使指针p指向了一个无效的变量。正确程序如下,应该把num定义为全局变量

#include int num=1; int* get() { return # } int main() { int* p=get(); *p=12; return 0; }

 

再如

int main() { int* p=0; if(1) { int a=123; //a生命期开始 int* p=&a; } //a生命期结束 printf("%d\n",*p); return 0; } ②返回值为bool类型(直接返回true或false ) // 判断a,b,c组成的三角形是否为直角三角形 bool check(int a, int b, int c) { int aa = a * a; // a的平方 int bb = b * b; int cc = c * c; if (aa + bb == cc || aa + cc == bb || bb + cc == aa) { return true; } return false; }

 

3、可以不用传入形参 void test() { for (int i = 1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3