首页 > 编程笔记 > C语言笔记 阅读:36

C语言函数的返回值(通俗易懂,新手必看)

先看一个用 C语言函数绘制正三角形的示例:
#include <stdio.h>

void showStarts()
{
    printf("    *\n");
    printf("   * *\n");
    printf("  * * *\n");
    printf(" * * * *\n");
    printf("* * * * *\n");
}

int main()
{
    showStarts();
    return 0;
}
showStarts() 函数将会输出一个由星号组成的正三角形,运行结果为:
    *
   * *
  * * *
 * * * *
* * * * *
请注意,这个函数不需要输入参数,也不需要返回值。

在 C语言中,void 是一个关键字,用于表示“无类型”。函数可以有返回值,也可以没有返回值。如果一个函数没有返回值,则可以使用 void 作为返回类型。例如,上面实例中的 showStarts() 函数。

我们之前用 return 将函数返回主调函数,并带回一个返回值。没有返回值的函数可以省略 return。当函数执行完花括号内的语句后,它会自动结束并继续执行主调函数之后的代码。

例如,showStarts() 函数可以省略 return:
void showStarts()
{
   printf("    *\n");
   printf("   * *\n");
   printf("  * * *\n");
   printf(" * * * *\n");
   printf("* * * * *\n");
}

如果函数需要返回值,则必须使用 return 带回一个返回值才能正常通过编译。例如,下面的代码就是错误的:
int add(int a, int b)
{
   printf("%d",a + b);
}
最后不要忘记,return 可以出现在函数的任意位置。程序一旦执行到 return,就会停止函数的执行,返回主调函数。例如,下面的代码:
void showStarts()
{
    printf("    *\n");
    printf("   * *\n");
    printf("  * * *\n");
    return;
    printf(" * * * *\n");
    printf("* * * * *\n");
}
在上述代码中,程序由于在输出 3 行星号后遇到了 return,因此将不会执行后面的语句,而是直接返回主调函数。运行结果为:
    *
   * *
  * * *

相关文章