学点C语言(32):函数 – 返回值
当前位置:以往代写 > C/C++ 教程 >学点C语言(32):函数 – 返回值
2019-06-13

学点C语言(32):函数 – 返回值

学点C语言(32):函数 – 返回值

副标题#e#

C语言的函数可以返回数组以外(不包罗数组指针)的任何范例.

不写明返回范例, 在以前的 C 语言版本中是默认返回 int, 此刻 C99、C++ 已不支持.

void 暗示没有返回值, 也就无须 return 语句; 假如是其他语句必需有 return 语句.

在 main 函数中(只是 main 函数)若忘掉 return, 有些编译器会自动添加 return 0;

1. 每执行 return 语句函数将会退出:

#include <stdio.h>

int main(void)
{
  printf("111\n");
  printf("222\n");

  return 0; /* 之后的语句将不会执行 */

  printf("333\n");
  printf("444\n");

  getchar();
  return 0;
}

2. 假如函数没有返回值, 可以借无参数的 return 跳出:

#include <stdio.h>

void prn(void);

int main(void)
{
  prn();
  getchar();
  return 0;
}

void prn(void) {
  printf("111\n");
  printf("222\n");

  return; /* 无参数的 return */

  printf("333\n");
  printf("444\n");
}

3. return 后头不是"等号", 但返回值也可以写在括号中:

#include <stdio.h>

long long MySqr(int x);

int main(void)
{
  int i = 9;

  i = MySqr(i);
  printf("%d\n", i);

  getchar();
  return 0;
}

long long MySqr(int x) {
  return(x*x); /* 返回值在括号中 */
}


#p#副标题#e#

4. return 与 exit 的区别:

main 函数竣事时, 措施也就竣事了, return 0; 或 return(0); 返回给系统的 0 暗示正常退出.

假如返回了非零的值, 一般写做: return 1; 或 return(1); 暗示异常竣事.

在一般函数中 return 只是退出当前函数;

但在任那里所, exit(1); 都是退出措施, 个中的 1 也是给系统的返回值, 暗示异常退出;

异常退出也可以利用 abort(); 这个两个函数(exit、abort)都声明在 stdlib.h

#include <stdio.h>
#include <stdlib.h>

void prn(void);

int main(void)
{
  prn();
  getchar();
  return 0;
}

void prn(void) {
  printf("abc\n");
  exit(1);     /* 异常退出措施 */
}

5. 每执行 return 语句函数将会退出:

#include <stdio.h>

int main(void)
{
  printf("111\n");
  printf("222\n");

  return 0; /* 之后的语句将不会执行 */

  printf("333\n");
  printf("444\n");

  getchar();
  return 0;
}

6. 留意返回值的范例:

#include <stdio.h>

float average(int a, int b, int c);

int main(void)
{
  printf("%g\n", average(2,6,9));

  getchar();
  return 0;
}

float average(int a, int b, int c)
{
  return (a + b + c)/3.0; /* 如果这里没有.0将不会返回正确的功效*/
}

返回“学点C语言 – 目次”

    关键字:

在线提交作业