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

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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