C語言題目,不知道答案應該是c還是D,求解答和解釋,謝謝

2022-06-12 18:06:53 字數 4628 閱讀 2813

1樓:匿名使用者

典型的死迴圈

在c語言中,沒有邏輯型別。用非0表示邏輯真for語句中,第二個用於迴圈判斷的表示式,k=1,計算的結果永遠為1。即條件成立

所以,選d

2樓:匿名使用者

選d無限迴圈。

迴圈條件是k=1,注意這是賦值(=)而不是比較(==),條件永遠成立。

3樓:

d判斷條件k=1 一直為真,所以死迴圈

c語言選擇題,答案為c,求解釋,謝謝。

4樓:

答案是c沒問題——先打出studend,然後\b退後1位把游標移到d下面,再打t把d覆蓋了,再向後列印\r把游標移到這一行的開頭s下面,最後輸出s把s覆蓋了……

5樓:匿名使用者

我試了試,的確是s,不過你printf("studend\bt\rs\n");在他後面加一個換行就好了,因為列印輸出後面有個「請按任意鍵繼續...」當你的\r執行後跳到本行的開頭後輸出\r後面的內容然後就直接輸出那幾個字覆蓋了後面的內容所以輸出不了,明白否?

6樓:匿名使用者

\b:退格,將當前位置移到前一列為:student

\r:回車,將當前位置移到本行開頭

因為輸出只有一行,所以返回本行的行首,並用's'覆蓋's' 。即為student

7樓:剪影傷城

\b:退格,將當前位置移到前一列

\r:回車,將當前位置移到本行開頭

8樓:神級詛咒

\b查資料是退格就是刪除一個,然後輸出t「\r「書上寫是回車,然後我執行了一下,使顯示了一個s

9樓:

\b=backspace

\r是回車,而鑑於輸出只有一行,所以只能返回本行的行首,並用's'覆蓋's'

10樓:匿名使用者

都不對吧?.....要是沒有\r的話是選d

第7題為什麼選d啊? 求解答 我需要解釋 謝謝!! c語言~

11樓:莊政警

fun函式裡s是main裡s的副本,二者是兩個互不影響的變數s=(float*)calloc(1,sizeof(float)); // fun函式的s已經不指向陣列a了

*s=............;// 那麼*s操作的也就不是陣列a的元素了

而main裡的s不會受到fun裡s值的影響,它沒有改變,還指向a,所以*s還是a[0]

c語言基礎題:d1=~a和d5=~c的答案請問是什麼?請詳細解釋一下,謝謝!

12樓:m丶小民子

同學,首先要弄清楚"!"跟"~"的區別:!是非,比如!

5=0,!0=1;而~是按位內取反,假設系統是容8位的,八進位制的0123對應二進位制01010011,取反後是10101100,再轉成十進位制輸出是-84。同理,0按位取反後變成11111111,轉成十進位制就是-1。

所以d1=-84,d5=-1。

兩道c語言的簡單題目不懂~求解答~為什麼選c,d特別是第十題求詳細解題方法。謝啦~

13樓:

a a是1行4列的陣列,而賦值列表中有5個元素,是放不下的b 定義二維陣列的時候要求列數不能為空,而行數可以由後面的賦值列表決定,若沒有賦值列表那麼行數也不能為空

c b是2行3列的陣列,而賦值列表中有3行(1個{}就是一行的資料),超過陣列定義的行數

d 正確,相當於定義了一個1行3列的陣列,y[0][0]=0,y[0][1]=0,y[0][2]=0

14樓:一葉飄零海

會去把如何定義二維陣列學習下,你就明白了

我做c語言有個題目不會。。想問問各位大俠。。。拜託了。。為什麼答案是a,,,求詳細解答。*c=*c+1;d=d+1

15樓:半島殤

注意fun函式的兩bai個形式引數,第du一個是指zhi針傳遞是把變數daob地址傳遞給子函式,即子函式中的回變數b指向存放字元答a的地址,與主函式中變數b指向的是同一位置,因此在子函式那個語句能夠改變主函式中b的值,只是指標形參的一個用法,第二個形參就不用多說了把,子函式中形參的變化不會引起主函式中變數變化,因為使用的不是同一記憶體空間!所以呼叫子函式會輸出bb,主函式中輸出語句會輸出ba!樓主能懂吧?

不懂的話繼續問哦!

16樓:

#include

void fun (char*c,int d)

{*c=*c+1;//把c所指向的

17樓:匿名使用者

先執行主函

來數,把源

變數b的地址以及變數baia的值傳給函式fun,由於du對變數zhic的處理是在處理b變數dao地址裡的內容,因此對其加1,就是給分配給b的空間裡的變數ascii加1,也就是a+1,為b,傳變數a的值給函式的意思是給變數d分配一個空間,然後將a的值拷入其中,因此對變數d的改變不影響變數a的值,故fun執行完以後變數b和a裡面分別儲存的是b和a

18樓:匿名使用者

選baia

呼叫fun(&b,a)時,傳遞的是b的引用和dua的值,在fun()中,會zhi改變daob的值,但不能改變a的值。

故在內fun()中輸出的容是b,b,而在main函式中,b的值變了,而a的值沒變,故輸出b,a

所以答案為:b,b,b,a

19樓:匿名使用者

--fun(&b,a)指的是把baib的地址,和du變數a的值賦給fun()函式zhi中的形參c和a

--fun(char *c,intb)指的是c是一個dao指標變數是用版來存權地址的這與把&b放如其中一致注意這裡的*c和下面的*c不是同一個意思,上面char *c 是說c這個變數是指標變數,是用來解釋的定義,而下面*c=*c+1,這裡的兩個*c 都是隻把c所指向的變數加一然後存到所指變數中相當於

a=a+1,其實d=d+1也是a=a+1不同的是c語言規定因指標變數(如c)所指向而參與運算的變數(b)在功能函式(被呼叫函式)呼叫後值跟著變;

而變數(如b)在功能函式中值的改變並不改變原來變數(a)的值

20樓:匿名使用者

函式func傳進去

來第一個為指標源

,第二個引數為變數。

在呼叫函bai數時候,形du參並不是傳入的實際值,zhi而是會在棧裡,dao生成一個臨時變數來,存放實際傳入的值也就是說相當於

void fun (char*c,int d)//執行玩這個函式後,傳入指標的變數大小被改變,傳指的函式大小不變。

此時a = 『b』 a = 『b』

所以選a

21樓:匿名使用者

函式func傳進抄去第一個為指標襲,第二個引數bai為變數。

在呼叫du函式時候,形zhi參並不是傳入的實際值,而dao是會在棧裡,生成一個臨時變數來,存放實際傳入的值也就是說相當於

void fun (char*c,int d)//執行玩這個函式後,傳入指標的變數大小被改變,傳指的函式大小不變。

此時a = 『b』 a = 『b』

所以選a

22樓:百讀不饜

這裡有傳址和傳值的概念

第一個引數char *c是將變數b的地址賦值給了指標c,當指標c指向的數值發生變化時,變數b也會發生變化

而第二個引數d是將變數a的值賦值給了變數d,所以d的變化不會影響到a

c語言判斷題,答案為錯,求高手解釋。謝謝(主要是不明白表示式的「!」作用是什麼)

23樓:匿名使用者

???表示式的值為1吧 d=1,e=2,f=3首先注意它們優先順序,所以

!(d+e)+f&&e+f*2 => !(1 + 2) + 3 && 2 +3 * 2

=> !3 + 3 && 2 + 6

=> 0 + 3 && 8

=> 3 && 8

=>1

24樓:匿名使用者

!的作用的取非

!true = false

!false = true

true 是真, false是假

數值等於0時為false, 非0時為真

d+e = 3, 本身為真, 加上!之後就是假, 為0

25樓:匿名使用者

假如d=1,那麼!d = =0

c語言問題,為什麼這題答案是a啊,求詳細解答,謝謝!!!

26樓:匿名使用者

while(*str++!='e');

*和++優先順序相同,但它們是右結合,所以等價於while(*(str++)!='e');

這裡初始str指向'a',在迴圈時當str指向'e'時,迴圈截止,str會自增1(所謂後自增),也就是跳出迴圈時,str將指向'f'。

27樓:小諾的晴空

當等於 str指向字元e的時候,不滿足迴圈的條件,所以退出迴圈,但是因為,str後面的++,所以,加完後指向字元f,所以選a

c語言指標問題p後面應該是變數還是地址

如果是宣告比如int p 後面應該跟地址 如果是先宣告int p 再 p 後面應該是值 不過變數可以是值又可以是地址 c語言的指標問題。p i 是代表取值呢還是取地址?定義int p a,那麼p 0就是 a 0 的首地址,p i就是a i 的首地址,p 2就是a 2 的首地址,p 0 就是a 0 0...

c語言程式閱讀題,求答案有,但是不知道過程求詳細解答。本人

fun函式的主要功能是將二維陣列中每一行的最大值放到每一行的首列,其他列的值不變。最終將結果在main函式中輸出。求救一道c語言的題目,求詳細解答過程!非常感謝!1.int i int f 20 程式定義了一個變數i和一個長度 為20的整型一維陣列並把陣列的前兩個值均初始化為1後面初始化為02.fo...

C語言時 與應該是怎麼看老師寫的有這種可能只需一

和 是不抄同的兩個運算 符 在c語言襲中是邏輯與運算子。在c語言中是位運算子 按位與運算子 功能是使參與運算的兩數各對應的二進位相 與 只有對應的兩個二進位均為1時,結果為1,否則為0.如 0000000000010110 0000000010001101 結果為 0000000000000100 ...