怎麼理解Sub和Function之間的不同

時間 2023-09-16 18:44:07

1樓:網友

sub可以理解為執行乙個過程,乙個操作,(舉例:我拍了下桌子)function在執行完過程後,還要返回乙個結果(舉例:我拍了下桌子,結果:我手拍紅了,疼的。)

2樓:網友

語法是這樣的。

sub subname(引數1, 引數2,..

end sub

function functionname(引數1, 引數2,..

functionname = 返回值。

end function

呼叫時: sub 只能用:

subname 引數1, 引數2,..

函式則: 變數=functionname (引數1, 引數2,..

functionname 引數1, 引數2,..

上面的均未講出根本:

sub與function均可有返回值。所以首先要講清返回方式:有兩種,過程或函式返回,即分配與過程或函式同名的返回變數位址。

function分配,但sub不分配。vb用此方式加以區分,vc則用void宣告不用分配。即如p=aa()若aa()是sub則什麼也得不到,還會報錯。

但函式則會得到數值。其次,引數返回,vb中預設用位址傳參,即能返回。但宣告為byval即值傳參,則不可返回,所以,不存在靈活性的差別。

比如函式function bb(a,b), 呼叫時可以bb m, n也可以p=bb(m,n). 實際,如果確認不會失敗,才能用sub,否則,必須要用function以確認是否成功或取得返回值。所以程式設計,應少用sub,少用 subname 引數1, 引數2,..

的呼叫方式。

function可以當做是公式試用。

3樓:vb妮可

sub是乙個單純過程。

function也是乙個過程,但是它能返回執行這個過程取得的結果。

sub子過程與function函式過程有什麼區別

4樓:老小孩

sub直接應用於**,funvtion函式需要呼叫。

function 和sub的區別

5樓:網友

sub 過程和 function 過程都屬於過程。前者執行操作不返回值,後者執行操作可以返回值。

sub 過程是包含在 sub 和 end sub 語句之間的一組語句,執行操作但不返回值。sub 過程可以使用引數(由呼叫過程傳遞的常數、變數或表示式)。如果 sub 過程無任何引數,則。

sub 語句必須包含空括號 ()

function

過程是包含在 function 和 end function 語句之間的一組語句。function 過程與 sub 過程類似,但是function

過程可以返回值。function 過程可以使用引數(由呼叫過程傳遞的常數、變數或表示式)。如果 function 過程無任何引數,則。

function

語句必須包含空括號 ()function 過程通過函式名返回乙個值,這個值是在過程的語句中賦給函式名的。function 返回值的資料型別總是。

variant。

sub子過程與function函式過程有什麼區別?

6樓:默念

vb程式設計 function與sub有什麼區別? function是函式,sub是子程式,都可以傳遞引數,但函式有返回值,子程式沒有 function 可以用自身名字返回乙個值,sub 需定義別的變數,用傳址方式傳回值。 sub 過程與function 過程的區別:

1. sub 過程定義時無需定義返回值型別,而function 過程一般需要用「as 資料型別」 定義函式返回值型別。 2. sub 過程中沒有對過程名賦值的語句,而function 過程中一定有對函式名賦值的語句。 3. 呼叫過程:

呼叫 sub 過程與 function 過程不同。呼叫 sub 過程的是乙個獨立的語句,而呼叫函式過程只是表示式的一部分。sub 過程還有一點與函式不一樣,它不會用名字返回乙個值。

但是,與 function過程一樣,sub 過程也可以修改傳遞給它們的任何變數的值。 4. 呼叫 sub 過程有兩種方法: 以下兩個語句都呼叫了名為 myproc 的 sub 過程。

call myproc (firstargument, secondargument) myproc firstargument, secondargument 注意當使用 call 語法時,引數必須在括號內。若省略 call 關鍵字,則也必須省略引數兩邊的括號。

sub過程與function過程最根本的區別是

7樓:溫嶼

sub過程與function過程最根本的區別是sub過程不能返回值,而function過程能返回值。visual basic中有兩類過程:

系統提供的內部函式和事件過程;

使用者根據自己的需要定義的,供事件過程的多次盯激渣呼叫,其中使用最多的是子過程。凱悄它們的`共同點是完成某種特定功能的一組程式**;不同的是函式是帶有返回值的特殊過程,所以函式過程定義時有返回值的型別說明。

sub過程和function過程

8樓:艾迪康樂園

1、在窗體form1中用「public sub fun(x as integer,y as single)」定義過程fun,在窗體form2中定義了變數i為integer,j為integer,若要在form2的某事件過程中呼叫form1中的fun過程,則下列語句中正確的是。

fun(i,j) ,j) ,j) i,(j)

答案:d。因為fun過程位於form1中,所以要加上「form1.」;b中引數型別不符;在d中的第二項中的括號相當於對j進行了一次轉換,隱式轉換,引數就一致了。

2、在窗體form1中用「沖游簡public sub fun(x as integer,y as single)」定義過程fun,在窗體form2中定義了變數i為integer,j為single,若要在form2的某事件過程中呼叫form1中的fun過程,則下列語句中正確的語句有___個。

call fun(i,j) ②call form1.fun(i,i) ③form1.fun (i),j ④form1.fun i + 1,(j)

a.1 b.磨拆2 c.3 d.4

答案:b。因為fun過程散褲位於form1中,要加上「form1.」,所以①錯誤;②的引數型別不符;③④是正確的。

3、若在模組中用private function fun(a as single,b as integer)as integer定義了函式fun。呼叫函式fun的過程中定義了i,j和k三個integer型變數,則下列語句不能正確呼叫函式fun的語句的是。

j fun(i,365) "24","35")

答案:c。在vb中「fun(i)(j)」這個格式錯誤。

說明:第。一、第二個問題中,在引數上加括號是為了進行變數型別轉換。

vb的sub子程式怎麼用,關於vb的sub子過程的定義問題!

聽不清啊 建立sub過程 1 定義sub過程 語句結構如下 static private public sub 過程名 引數列表 語句塊 exit sub 語句塊 endsub 引數列表指明瞭呼叫時傳送給過程的引數的型別和個數,每個引數的格式為 byval 變數名 as 資料型別 如果加上byval...

虛短和虛斷怎麼理解

南非烏雀 虛短 虛斷是類比電路中理想整合運放的兩個重要概念。虛短 虛短指在理想情況下,兩個輸入端的電位相等,就好像兩個輸入端短接在一起,但事實上並沒有短接,稱為 虛短 虛短的必要條件是運放引入深度負反饋。虛斷 虛斷指在理想情況下,流入整合運算放大器輸入端電流為零。這是由於理想運算放大器的輸入電阻無限...

怎麼理解矛盾特殊性和普遍性,如何理解矛盾的普遍性和特殊性及其相互關係

金牛咲 矛盾的特殊性是指 具體事物的矛盾及每一個矛盾的各個方面都有其特點,主要與次要就是相對的特殊性 各個具體事物的矛盾及每一個矛盾的各方面在發展的不同階段也各有特點。矛盾的普遍性有兩層含義 其一,矛盾存在於一切事物的發展過程之中 矛盾無處不在 其二,矛盾存在於每一個事物發展過程的始終 矛盾無時不有...