一個c程式題。。希望可以給予解答。謝謝

2023-06-03 01:35:16 字數 2441 閱讀 9867

1樓:匿名使用者

上面是一個值的傳遞過程,fun(int x,int y) 中的x y 都是形參,而下面在main中呼叫的時候傳遞過去的實參。

int 在c裡面是值型別,在函式中是不會改變的,如果你希望x 和y的值發生改變應該申明為全域性變數,即宣告好之後在main 和 fun中都是同一個變數,你現在這樣其實實際在記憶體中 fun 和 main中的x和 y是不同的,當然不會改變。

這個是一個值型別和引用型別的問題。

如果是定義的指標則是引用型別,意思是同是指向記憶體中的同一個東西。

希望對你有幫助。

2樓:匿名使用者

請問是不是剛剛學c語言啊?

函式傳遞是值傳遞,傳遞是一個內容,在函式中會建立新的變數其值為傳遞入的值。

你這個題就是這樣子的,函式中的int x,y其實是兩個臨時變數,地址和main函式中的地址不同的。如果要實現需要用指標,傳遞入的是x,y的地址。

定義:void fun(int *x, int *y)呼叫:fun(&x,&y);

3樓:純潔阿

c語言中值的傳遞是單向的,只能從實參傳向形參;此時呼叫子函式時,將x,y的值傳給了形參,但不會改變實參的值。

4樓:匿名使用者

函式fun是void就是不返回數值。

5樓:匿名使用者

fun(int x,int y)函式是個傳值呼叫。。。相當於呼叫之前進行了建立了一個副本(複製那種),函式的操作是針對副本進行的 對原來的x,y是沒有影響、。。

c語言的題,謝謝您的解答

6樓:金錢喵

a是錯的 計算機是無法直接識別高階語言程式的,必須經過編譯等步驟c是錯的 編譯之後還應進行連線,與函式庫等連線後生成。exe檔案才能執行。

d是錯的 c語言中的函式可以單獨進行編譯,編譯為目標檔案,然後在連線成可執行檔案。

我還是覺得b是對的 只有將所有語句都轉換成二進位制機器指令,計算機才有可能直接識別和執行。

7樓:敏千邇

這個問題看你較真到什麼程度。

a一定錯---源程式不能直接執行,cpu只識別二進位制**,你知道的。

c應該是錯的---源程式被編譯之後,二進位制**僅僅是你在原始檔裡寫的那些,不包括任何庫文傑,所以不能執行,還需要連線庫的二進位制**檔案。不過也有例外,如果你什麼**都沒寫,main是空的就不行了。但這麼想也有漏洞,見d。

d應該是對的---可以啊,一個空空的main就行了嘛。但是其實從彙編角度來說,main之外可能還有一部分的東西,例如windows mfc的程式,都需要再連線一個預先寫好的程式片段。

b我就叫不準---二進位制由兩部分:執行性**和資料。此外,源程式還多了一些 預處理指令。但是我覺得只要是可執行**就一定是二進位制的執行性**了。

8樓:匿名使用者

選b。解釋下,任何語言最終都將變成1,0給計算機,儘管c可以直接操控硬體,c是模組式結構,一個程式由不同函式組成,猶如搭積木,c經過編譯,連結,其中連結加入了標準函式庫,比如printf和scanf函式,最終可以執行。

9樓:匿名使用者

你有正確答案沒有?概念的東西還真不好說!

求解一道c語言程式題~~

10樓:

printf ("s",+p+1))-s; /為行少一個括號 printf ("s",+p+1))-s);

你得說一下你想要幹嘛,程式新增一個括號也只輸出了三個字元"jkt"

11樓:冉易雲

這道題主要牽涉到指標:

1)第一個printf 的值:

有 struct str1 *p[2];

p[0]=&s1[0];p[1]=&s1[1];

可得到*(p+1)指向s1[1](即 "ijk","lmn")。

又因為 ++p+1))-s意思是指向字串 "ijk" 的指標自增1,所以列印值為 jk

2)第二個printf的列印值:

有 struct str2

s2=; 和 是指向字串 "rst" 的第三個字元 t,(因為陣列從0開始,c[2]為第三個字元),即結果為 t。

故輸出為 jkt

程式設計題請用c或c++,謝謝 5

12樓:oo白色戀人

這道題的解題思路是,不管有幾種月餅,3種也好,30種也好,你只需要根據每種月餅的總售價/總儲存量得到的利潤進行比較,先賣出利潤最高的m1月餅x1噸,再賣出利潤次之的m2月餅x2噸。m3...x3...

mn...xn...一直到x1+x2+x3+..

xn=市場最大需求量,如何求出最大的收益。

目前就想到了這種比較笨的思路,不過可以解題,反正是計算機算又不是我們算^0^

需要**不。

幫忙解答下列兩個C語言程式題,並給出解釋

1,11。解釋如下 是一個回車符,表示一個 字元,x69表示ascii是16進位制69的一個字元,082表示ascii是八進位制82的一個字元,上述轉義字元加上其他普通字元共11個字元。2,返回值是負數 非常可能是 69 strcmp是比較兩個字串是否相等,相等返回0,第一個串大於第二個串返回 0整...

一道c語言程式題求高人解答,一道C語言程式設計題,求大神解答,急!!!

fseek函式用copy來移動檔案內部位置指標,其呼叫形式為 fseek 檔案指標,位移量,起始點 其中 檔案指標 指向被移動的檔案。位移量 表示移動的位元組數,要求位移量是long型資料,以便在檔案長度大於64kb 時不會出錯。當用常量表示位移量時,要求加字尾 l 起始點 表示從何處開始計算位移量...

c 如何編寫關機程式,c 如何編寫一個關機程式

編寫 include using namespace std int main system shutdown s f t 0 return 0 儲存按ctrl f9,目錄下就會出現一個.exe檔案。還可以定時關機 include include include int main char cmd ...