使用return 语句可以返回一个变量内的值或一个指针,可做开关使用,
用return0,表示返回为空,表示假,
用return1,表示返回为真值,表示真。
return 1 代表程序异常退出
return 关键字的作用是从被调用函数跳回到发生调用函数开始处!其副作用是可返回一个参数值。
例如:
1、不返回值调用(常用)
uchar ret(void) //用于返回原函数
{
a+=100;
return (0);
}
1.1不返回值调用(作判断使用)
uchar ret(void) //用于返回原函数
{
a+=100;
return (0); //程序返回,不再往下执行
printf("error!");
}
2、返回参数值调用
uchar ret(void) //用于返回一个参数值
{
a+=100;
return (a);
}
被调函数 return 0 或 return 1 只是给主调函数一个标志,说明他的执行过程遇到的情况。
return 0,说明程序正常退出,返回到主程序继续往下执行。
return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。
return 0 或 return 1 对程序执行的顺序没有影响,只是大家习惯于使用 return (0) 退出子程序而已。
关于正常退出、异常退出、退出返回的值、程序执行顺序有无影响,测试:
#include"stdio.h"
#define uchar unsigned char
uchar a=100;
uchar ret0(void)
{
return 0;
printf("error!\n");
}
uchar ret1(void)
{
return 1;
printf("error!\n");
}
void main()
{
printf("a1=%d\n",a); //打印a的值
/*****查看 return 0 和 return 1退出后返回的值****/
//注意:这种方法可能不是最底层返回(仅供测试)
printf("ret0返回值=%d\n",ret0()); //return 0 退出函数时返回的参数
printf("ret1返回值=%d\n",ret1()); //return 1 退出函数时返回的参数
/*****查看return 1异常退出 测试程序是否往下执行****/
a+=100;
printf("a2=%d\n",a);
while(1);
}