1. 程式人生 > >關於巨集函式的返回值

關於巨集函式的返回值

  • 巨集函式與普通函式
// 巨集函式
#define Min(x, y) \ 
    ((x)<(y)?(x):(y)) 
// 普通函式
int Min(int x, int y)
{
    return x < y ? x : y;
}
  • 普通函式,在定義時需要指明返回型別及返回值
  • 巨集函式,在定義時不需要指明返回型別及返回值。
  • 那麼巨集函式的返回值是什麼?
  • 答:巨集函式中最後一個表示式的值,即為巨集函式的返回值。該值的型別,即為巨集函式的返回型別。因此,可以說巨集函式隱式地指名了其返回值與返回型別。
int main()
{
    // some code
    int
a = 10; int b = 20; int c = Min(10, 20); // some code }

相關推薦

Python小白學習之路(十)—【函式】【函式返回】【函式引數】

寫在前面: 昨天早睡之後,感覺今天已經恢復了百分之八十的樣子 又是活力滿滿的小夥郭 今日份雞湯: 我始終相信,在這個世界上,一定有另一個自己,在做著我不敢做的事,在過著我想過的生活。-------宮崎駿 函式 一、函數出現的背景 在學習函式之前,一直遵循:面向過程程式設計,即:根據業務邏輯從上到

recv函式返回總結

函式原型:int recv( SOCKET s, char *buf, int  len, int flags) 功能:不論是客戶還是伺服器應用程式都用recv函式從TCP連線的另一端接收資料。 引數一:指定接收端套接字描述符; 引數二:指明一個緩衝區,該緩衝區用來存放recv

C# socket 程式設計之 accept() 函式返回解析

accept() 函式會返回一個新的套接字,這個新的套接字在伺服器端與客戶端進行通訊。 伺服器端的繫結監聽是一個套接字,與客戶端通訊的是另一個套接字(accept函式返回的套接字,注意這裡不是返回客戶端的套接字,返回的套接字是新建立在伺服器上的,與客戶端收發訊息用的) 下面這段程式碼,是

recv函式返回說明

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

opencv之type()函式返回對應表

opencv之type()函式返回值對應表 cv::Mat 類的物件有一個成員函式 type() 用來返回矩陣元素的資料型別,返回值是 int 型別,不同的返回值代表不同的型別。 int Mat::type() const 返回值與具體型別對應關係表: | |C1| C2| C3| C4| --|--|

建構函式返回

建構函式返回值 For purposes other than simple initialization, classes can have constructors. Constructors are blocks of statements that can be used to in

按鍵精靈Q語言-怎麼使用自定義函式返回

按鍵精靈怎麼使用自定義函式返回值? a i MessageBox i Function a(i) i=100 End Function 就是想彈出100 aiMessageBoxiFunctiona(i)i=100EndFunction就是想讓它彈出的是100怎麼獲得自定義函式中的值呢?...展

風火程式設計--flask檢視函式返回

flask檢視函式返回json資料 原始模式 data_json = json.dumps({"errcode": "0", "errms": "成功", "data": data}) return data_json, 200, {"Contant-Type": "Applic

C++ 引用作為函式返回

(1)以引用返回函式值,定義函式時需要在函式名前加 & (2)用引用返回一個函式值的最大好處是,在記憶體中不產生被返回值的副本。 引用作為返回值,必須遵守以下規則: (1)不能返回區域性變數的引用。主要原因是區域性變數會在函式返回後被銷燬,因此被返回的引用就成為了

函式的文件說明,函式引數,函式返回

def test(a,b): … “用來完成對2個數求和” … print("%d"%(a+b)) … test(11,22) 33 如果執行,以下程式碼 h

引用作為函式返回的分析

  例如,下面的程式是有關引用返回的4種形式:     //*********************     //**   ch9_6.cpp  **     //*******************

solidity智慧合約[28]-函式返回

函式返回值一般形式 12345678910 function  resValue() pure public returns(uint){    uint a = 10;    return a;}function &nb

Python函式中的變數和函式返回

1.函式的變數 區域性變數和全域性變數: Python中的任何變數都有特定的作用域 在函式中定義的變數一般只能在該函式內部使用,這些只能在程式的特定部分使用的變數我們稱之為區域性變數 在一個檔案頂部定義的變數可以供檔案中的任何函式呼叫,這些可以為整個程式所使用的變數稱為全域性變數。

Java函式返回的“魔術”轉型

先看一段程式碼: public Object get(String name) {   return map.get(name); } 其中獲取的返回值,可能是字串,也可能是數字等等。那麼呼叫它的程式碼,可能就充斥著各種各樣的轉型: String value1 = (String)get

函式返回案例

//求2個數字的差的function getNumber(num1,num2) { return num1-num2;}console.log(getNumber(10,20));//求一組數字中的最大值function getMax(num) { 定義變數假設這個值是最大值 var max

Typescript | 箭頭函式返回

/* * @Author: AK-12 * @Date: 2018-11-01 20:07:29 * @Last Modified by: AK-12 * @Last Modified time: 2018-11-01 22:00:41 */ import IBlock from '.

14. 函式返回為引用?

函式返回值可以是引用嗎? 當然可以,只是在函式返回引用的時候需要注意幾點。以下給出討論! 函式在返回值的時候,會產生一個臨時變數作為函式返回值的副本;而函式在返回引用的時候,不會產生副本!那麼既然是

目前無法從修改區塊鏈的函式返回

參考文件: 當呼叫一個合約的方法。這個方法想返回值。有2種情況: 1、如果這個方法中修改了合約資料。那隻能通過event返回值。 2、如果這個方法沒有修改區塊資料,那直接可以返回值。 例子 pragma solidity ^0.4.25; contract Assert{ }

C語言函式返回的實現方法和誤區

例項:你們認為這三個函式能正常返回嗎?  int func1(int a , int b) { int c = 0; c = a + b; return c; } char * func2() { char *strTmp = "abs"; return str

Linux Shell函式返回

                Shell函式返回值,一般有3種方式:return,argv,echo1) return 語句shell函式的返回值,可以和其他語言的返回值一樣,通過return語句返回。示例:#!/bin/bash -function mytest(){    echo "arg1 = $1