函式原型:intsystem(constchar*command);
我以這個為測試為例:system("abcde");
顯示如下:
'abcde'不是內部或外部命令,也不是可執行的程式
或批處理檔案。
pressanykeytocontinue
這個很能說明問題:在windows作業系統下,system()函式真正呼叫的是命令直譯器檔案cmd.exe,這個我想你應該知道吧,通過直譯器將傳入的字串轉成相應的內部/外部命令或可執行程式以及批處理檔案,就能解決你關於pause(內部指令)、clrscr(外部命令)的問題了。不過這裡還有個小問題,我的中文xp下cmd似乎也是英文版本的,所以pause顯示英文,而console程式顯示的是中文,我個人理解是console程式與作業系統間有密切關係(可能存在語言的轉譯或內部呼叫乙個中文的cmd),所以console程式結果與cmd結果在內容上有語言的區別。
改變視窗的字型顏色可用語句 system("color 2"); 此時執行程式後,會是綠色的字型。
c/c++中的strncpy()函式功能為將第source串的前n個字元拷貝到destination串,原型為:
char * strncpy ( char * destination, constchar * source, size_t num );
各個引數的含義顯而易見,其中返回值與destination相同。
這個函式會出現三種情況:
1、num不會自動為destination串加上結尾的'\0'字元
);2、num=source串的長度(包含最後的'\0'字元):那麼該函式將會拷貝source的全部字元到destination串中(包括source串結尾的'\0'字元);
3、num>source串的長度(包含最後的'\0'字元):那麼該函式將會拷貝source的全部字元到destination串中(包括source串結尾的'\0'字元),
並且在destination串的結尾繼續加上'\0'字元
,直到拷貝的字元總個數等於num為止。
[例]設有如下宣告,注意此時source串的長度為6(包含最後的'\0'字元):
char destination = "********************
"; // destination串為: "********************0"
cosnt char *source = "
-----
"; // source串為: "-----0"
情形1:
如果執行如下語句:
strncpy( destination, source, 5 );
那麼destination的前5個字元將會被'-'替換,即(以'0'表示'\0'字元):
destination串為: "-----***************0
"
情形2:
如果執行如下語句:
strncpy( destination, source, 6 );
那麼destination的前6個字元將會被source的前6個字元替換,即(以'0'表示'\0'字元):
destination串為: "-----0**************0
"
情形3:
如果執行如下語句:
strncpy( destination, source, 10 );
那麼destination的前6個字元將會被source的前6個字元替換,並且會在後面補4個'\0',即(以'0'表示'\0'字元):
destination串為: "-----00000**********0
"
參考:例子不錯)。。
C語言兩個函式題
f3 查詢陣列元素最大值 10分 本題要求實現乙個函式,查詢陣列中最大元素的下標。例如陣列為,則該函式應該返回4。題目輸入保證陣列元素各不相同。函式介面定義 int indexofmax int array,int size 其中 array 和 size 是使用者傳入的引數。array 是陣列首位...
C語言基礎知識 C語言函式呼叫怎麼返回兩個值
在c語言中,函式只能返回乙個值,要返回兩個值,可以改換思路,通過其它方式做到。在要返回的兩個值型別相同時,可以用建立陣列的方式,將要返回的值存在陣列中,並返回陣列首位址,這樣就可以實現返回兩個值的效果。需要注意的是,要返回陣列首位址,那麼返回的值不可以是區域性變數,有如下幾種是可以的 a 使用靜態區...
C語言函式的呼叫 比較兩個數的大小
目錄 一 先寫好框架 二 然後定義我們需要的變數 三 這裡就要寫函式的部分 四 函式部分寫完了,但是還乙個地方,要值得注意 一 常規方法比較大小 二 指標操作比較大小 今天我們要寫的是用呼叫函式的方法來 比較兩個數字的大小 我們先看看程式的執行效果 int i,j 只有兩個引數 scanf d,d ...