學點C語言(32):函數

來源:互聯網
上載者:User

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); /* 傳回值在括弧中 */
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.