1. 程式人生 > >'假定以下程式經編譯和連線後生成可執行檔案PROG.EXE,如果在此可執行檔案所在目錄的DOS提示符下鍵入:PROG ABCDEFGH IJKL<回車>,則輸出結果為( ). void main( int argc, char *argv[]) { while(--argc>

'假定以下程式經編譯和連線後生成可執行檔案PROG.EXE,如果在此可執行檔案所在目錄的DOS提示符下鍵入:PROG ABCDEFGH IJKL<回車>,則輸出結果為( ). void main( int argc, char *argv[]) { while(--argc>

main(int argc,char *argv[])函式的兩個形參,第一個int argc,是記錄你輸入在命令列(你題目中說的操作就是命令列輸入)上的字串個數;第二個*argv[]是個指標陣列,存放輸入在命令列上的命令(字串)。當命令列輸入PROG ABCDEFGH IJKL時,記錄了3個字串(以間隔為界,不含間隔,這是約定),*argv[0]中放的是"PROG",*argv[1]中放的是"ABCDEFGH",*argv[2]中放的是"IJKL",這樣argc就是3了。while(--argc>0)是條件迴圈,argc>0時繼續;argc初值是3,前置--先減1為2,所以後面的輸出語句打出*argv[2]中的內容IJKL;再執行while(--argc>0),argc再減1為1,打出*argv[1]中的內容ABCDEFGH;再迴圈,argc減1為0,條件破壞,不再執行while(--argc>0)的

迴圈體。所以最後顯示的是IJKLABCDEFGH