如何理解Return的返回值?

weixin_34120274發表於2007-11-02

如何理解Return的返回值?

問題:
  在建立和錄製指令碼的時候,發現在指令碼vuser_init、Action、vuser_end三部分,都會有一條“return 0;”語句,那麼我們平時在編寫指令碼時如何應用return語句,return不同的返回值又有什麼含義呢?
問題解答:
Return標識一個過程的結束,在LoadRunner 中用return 不同的返回值根據指令碼不同的返回值,表示指令碼的成功或者失敗。“return + 大於等於零的數字 ;”表示成功,反之,則表示失敗。
下面通過一個例項指令碼來深入理解一下return語句。
相應指令碼程式碼:
#include "web_api.h"

Action()
{
    LPCSTR user1="悟空";
        LPCSTR user2="八戒";

    if ((user1=="悟空") || (user1=="猴哥"))
      {
                   lr_output_message("悟空和猴哥是同一個人!");
                   return 0;
       }
   else
       {   
             lr_output_message("我是八戒不是悟空!");
         return -1;
        }
     lr_output_message("這句話永遠不會被執行!");
}
【指令碼分析】
該段指令碼事先宣告瞭兩個字串變數user1和user2,而後判斷user1變數是否為“悟空”或者“猴哥”,如果是則輸出“悟空和猴哥是同一個人!”,否則輸出“我是八戒不是悟空!”。因為return 語句執行完成以後,後面的語句將不會被執行,所以最後一句話將永遠不會被執行,即:“這句話永遠不會被執行!”不會被輸出。下面我們看一下上面指令碼的執行日誌結果為
Running Vuser...
Starting iteration 1.
Starting action Action.
Action.c(10): 悟空和猴哥是同一個人!
Ending action Action.
Ending iteration 1.
Ending Vuser...
如果將上面的指令碼“if ((user1=="悟空") || (user1=="猴哥"))”變更為“if ((user2=="悟空") || (user2=="猴哥"))”,則指令碼的執行日誌結果為,通過【View】>【Test Results...】檢視結果,因為返回值為-1,所示指令碼執行完成後為失敗的.

相關文章