執行如下結果 輸出時什麼?

2021-06-18 09:17:52 字數 767 閱讀 8271

執行如下**,輸出時什麼?

一、

char* getstring1()

char* getstring2()

int _tmain(int argc, _tchar* argv)

原文解釋:第乙個函式返回的是陣列的首位址,因為當函式getstring1函式返回時,陣列內的空間被釋放,所以列印的結果是隨機的東西;而函式getstring2返回的是乙個指標,指標指向的是乙個常量字串,全域性變數對待,函式返回時空間不會被釋放,所以函式返回的是hello world

但是我用visual studio 2010的編譯器卻輸出這樣結果:

這個問題待解決

二、

#include int main(void)

str1和str2是兩個字串陣列,編譯器會為它們分配兩個空間,並把字串拷貝進去。str1和str2的值不同!所以不會相等。

str3和str4是兩個指標,我們無需為它們分配記憶體以儲存字串的內容,而只需要把它們指向「hello world"在記憶體中的位址就可以了。由於」hello world"是字串常量,所以在記憶體中只有乙個拷貝,因為str3和str4指向的是同乙個位址。

參考:

Python 執行 shell 獲取輸出結果的例項

首先使用內建模組os.import os code os.system pwd sleep 2 user zhipeng print code 0問題是 os.system 只能獲取到結束狀態 使用內建模組 subprocess import subprocess subprocess.popen ...

linux下把命令執行的結果輸出

我們知道在linux下當我們想把文字用命令輸入到乙個文字下時可以用echo命令 例 echo nihao z.txt 比如我執行以下命令 myisamchk var lib mysql mysql 我想把該命令的螢幕輸出儲存為檔案 lyw error.txt,因此我用以下命令 myisamchk v...

用NSTask執行外部命令並獲取輸出結果的方法

本文介紹了如何通過nstask在當前目錄執行 ls l a t 並將結果儲存在 nsstring 中的基本方法。nstask task task nstask alloc init task setlaunchpath bin ls nsarray arguments arguments nsarr...