一道c語言題目,高手解答詳細說明答案是什麼,並解釋原

2021-04-26 20:24:26 字數 4703 閱讀 7478

1樓:匿名使用者

答案ac

a越界 ,不解釋了

c很明顯嘛,陣列名是什麼,是一個地址,是常量,常量可以自增麼,當然不可以,lz見過2++的麼,這個是錯的

d和e一個意思,只不過表達起來不同而已

2樓:匿名使用者

a錯的,陣列定義的a[5],也就是a[0]~a[4];

c,a是首地址,a++也就是自加1,從a[0]指向了a[1]

d,對指標接引用專,如果沒有改屬變a指標,*a就等於a[0],如果經過c選項a++,那麼*a就等於a[1]

3樓:匿名使用者

a ,c,d

a的錯誤是超過了陣列上限,因為陣列是從0開始的c,d的錯誤是把陣列當成普通變數運算了,沒有指定陣列數列

4樓:匿名使用者

答案是a ,c,

c: a是陣列的起始地址是不到改變的,所以錯了,

d:是一個指標引用,相當於a[0]

5樓:寒竹真人

a,陣列a的下標從0到4,5超出了下標最大值

d,不能對陣列使用*標誌

問一道c語言的問題。請高手解答!

6樓:匿名使用者

首先while(--k)這裡,括號

來裡的是自--k的返回值,--在k的前

bai面是先k減掉

du1再返回結果,因此執行zhi到這裡k為4,括號中的值為dao4,大於0應該是true,所以需要執行迴圈裡的內容。

下面是printf這個函式,首先要先計算出printf的引數的值,也就是k-=3的值,那麼這個表示式實際上就是k先減去3,再返回減掉以後的k的值,那麼應該是1,於是輸出也就是1

所以答案應該是a

本題主要考點就是--k,k--之類和k-=3之類的返回值和操作後k的值的關係。(這裡可以把語句當作函式來理解,因此有返回值一說)

7樓:匿名使用者

應該是a

while(--k) printf("%d",k-=3);

--k先自減,k變成4,printf("%d",k-=3); 裡面表示式先求值

內,k變成1,輸容出1,然後再--k先自減,k變成0,判斷while(0),結果跳出迴圈。

唉,我生平最討厭這種題……

8樓:匿名使用者

a吧第一次執行迴圈

k-=3

k=4-3=1

第二次--k先執行 k=0

while(0)退出吧

我也不知道,沒測試..順嘴胡說的,嘿嘿

9樓:望遠鏡裡的星星

答案:baia)1

第一次while條件判斷前,duk就先自減1,所以zhi是判斷條件時dao k=4 ,條件為真專(非0為真),進入迴圈體然後屬printf輸出時,k又自減3,所以 k=1,輸出1然後第二次while條件判斷前,k又先自減1,所以是判斷條件時 k=0 ,條件為假(0為假),所以結束迴圈

10樓:匿名使用者

答案:a

解釋:bai

k初始du 5

--k 4 //進入第一輪迴圈zhik-=3 1 //程式dao

列印出1

--k 0 //while的條件版為0,即false,跳出權迴圈,程式結束。

7道c語言題,求高手解答。

11樓:匿名使用者

1 swap呼叫的時候實參傳給形參,x給m,y給n 。而這裡面有一個重大的問題就是x與m並不是同一個記憶體單元,y與n也不是同一個記憶體單元,這就暗示著你對m和n的改變並沒有使得x和y有任何的效果,因為它們是不同的記憶體單元,所以你交換的只是m和n記憶體單元中的值,而對x y沒有任何影響,此題關鍵分清楚它們是佔據不同的記憶體單元的。這個主要就是對記憶體地址和記憶體中存放的值搞此就ok,所以指標要學好!

2 答案應該是c不是d 。 m成立 等價於m為真 等價於m非0 等價於m不是0 等價於m不等於0 即m!=0

3 答案應該是b不是d 。 由2題推導可知w等價於w!=0 而!w就是w!=0的否命題就是w==0

4 你再好好驗證一下吧,在vc6中printf("%");是沒有任何輸出的,只有printf("%%");才會輸出一個%

5 第二行是一個逗號表示式,但沒有用,你依次執行一下先是給x和y賦值6,接著把x賦給z,z=6,然後++y,y變成了7整個表示式的值是++y的值也就是7. 但你搞清啊,最後printf("%d",z);這個輸出的是啥? 是z的值啊!!

不是上邊表示式的值,z的值是6呀! 如果第二行這樣寫:z=(x,++y);這樣的話結果是7 注意看有沒有括號。

6 選b

7 應該是8,fseek的第二個引數應該是偏移量,第三個引數0說明是從頭開始,也就是數字1開始的,對於數字1它的偏移是0,數字2是1,數字3是2,依次數字9應該是8

12樓:匿名使用者

1、很常見的問題了,這麼跟你說吧,呼叫swap(x,y);的時候,把x和y複製了一份,成為形參,形引數據交換了,那麼x,y實際值沒變,不是嗎?

2、表示式m和表示式m!=0是等價的,c語言中所有的邏輯表示式的真假都是由表示式的值來判斷的,當值為非0數則為真,為0則為假。當m為非0時,m為真,m!

=0也為真,但m為0時,m為假,m!=0也為假。

3、同2

4、%本來就有自己的含義,也即是說合法的情況是%後面必須有一個格式符,如果沒有,編譯器也會認為合法,預設的情況,那就是%,只是如果你想列印一個%和一個s的話就不能只寫一個%了

5、優先順序的問題,逗號優先順序很低的,z=x,++y;等價於(z=x),(++y);

6、b7、第三個引數0等價於巨集seek_set,即檔案開始處,9

一道c語言選擇題,希望高手給出詳細解答!

13樓:匿名使用者

我覺得輸出的是「89」這個字串。

14樓:匿名使用者

這根本就個錯的程式,char*s="aa89gggh",得到的s指向只讀資料;應該是char s="aa89gggh";

執行結果見樓上。

15樓:

s是字串常量,存放在字串常量區,是不可修改的!

一道c語言的選擇題 希望高手給出詳細解答

16樓:is誰在看

字元常量是用單引號括起來的單個字元構成。有兩種表示方法:一種是用該字元的圖形符號,如'b' ,'y','*'。

另外還可以用字元的ascii碼錶示,即用反斜符(\)開頭,後跟字元的ascii碼,這種方法也稱為轉義序列表示法

17樓:匿名使用者

應該是這樣的:

b中的\ 後面最多只能有3個八進位制數,而它出現了4個。。

急求c語言高手解答三個題目!!!詳細說明最好!!!

18樓:匿名使用者

malloc在沒有足夠空間申請的時候會返回null,也就是0

因為&是取址運算子,注意,是運算。最後的q-p實際上等於q地址-p地址的偏移量,系統很智慧的給出了偏移5個int

realloc才可以在執行時改變空間的大小(陣列的大小)

19樓:與科技苦於

malloc給你的是地址,0地址就是null,while(1)一直執行,直到沒有記憶體可以申請,就返回null,此時p的值就為null,下面的語句向0地址寫入資料,程式就會終止

a[5]沒越界...就算越界了,比如a[6],雖然越界了,可不代表它沒有值,但他的值是不確定的對!

20樓:

1, malloc無空間時返回null,即0. 當指標指向0地址時,則是空指標,這裡是不允許直接寫入的。所以或奔潰退出

2. 陣列a的大小是6,因為5後面還有個逗號。 q指向第六個元素,p指向第1個元素,兩個整型指標相減為5.

3. 大小不是你想變,想變就能變。 一旦分配就不能再改變分配空間的大小了(除非釋放後重新分配)

21樓:匿名使用者

malloc返回連續的儲存單元的首地址  0地址不可用。

a陣列實際元素為 1 2 3 4 5 0 所以a[5]存在 地址差為5。

陣列一旦定義了,整個大小都不能變。 但是可以在程式執行時確定陣列長度(使用動態聯編定義動態陣列)

一道大一計算機c語言程式設計題,急求高手解答,謝謝,**等,感激不盡!

22樓:瘋瘋愛嬤嬤

#include

#include

int di(int x)

return y;

}int main()純手打

23樓:匿名使用者

題目自身有問題。

但是可以給你判斷質數的小函式int fun(x)

int fun(x)

24樓:匿名使用者

大概 就像這種一

樣:不過你的那個誰都懶得 # include# include# includestruct fri_... printf("謝謝使用

"); return 0; } /*增加聯絡人*/ void insert() { struct fri_list *ptr1,*ptr2,*p; char name[...

急求c語言高手解答題目詳細說明最好

malloc在沒有足夠空間申請的時候會返回null,也就是0 因為 是取址運算子,注意,是運算。最後的q p實際上等於q地址 p地址的偏移量,系統很智慧的給出了偏移5個int realloc才可以在執行時改變空間的大小 陣列的大小 malloc給你的是地址,0地址就是null,while 1 一直執...

c語言題目求解答,一道c語言題目,求解答!!!!!!!

include stdio.h void dfs int k int main int argc,char argv dfs n printf n return 0 執行樣例 一道c語言題目,求解答!scanf 函式中沒有精度控制。如 scanf 5.2f a 是非法的。不能企圖用此語句輸入小數為2...

一道c語言程式題目,求解答,一道C語言程式題目,求解答

上面的 中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p 0 的話,可以p 回去 或者在p改變之前,用tmp p儲存起始位置。struct stu tmp p p p tmp p 此外,我猜,這個程式中的s是為了儲存平均值?struct stu int main int i,l...