c語言題目不理解哪位給解釋下,C語言的一些題目 不太理解程式碼,求詳細解釋,手寫部分看不懂 10

時間 2021-09-05 20:04:53

1樓:匿名使用者

*str主要是判斷字串是否到了末尾一個字元'\0'

1。首先c語言運算子的優先順序,關係運算子“!=”大於邏輯運算子“&&”

所以(*str&&*str!=ch) 等價於*str&&(*str!=ch)。

2。來看一看while迴圈中內容的意思。&&是必須兩個變數的值都為1才為真,才會執行while迴圈內內容。

而*str是一個字串的內容,字串只有當末尾'\0'才為0;*str==ch的時候為0

舉例:例1。s="12"; c='3'

第1次迴圈: *str='1', '1'!='3'都成立,所以進入迴圈str++;

第2次迴圈: *str='2', '2'!='3'都成立,所以進入迴圈str++;

第3次迴圈: *str='\0'=0, '0'!='3';因為*str=0所以判斷結果為0,不再進入迴圈;

進入if判斷:*str=0;ch='3', 所以滿足條件。因為現在str指向原字串末尾,所以str[0]=ch表示把源字串末尾替換為新的字元,str[1]='\0'表示在新字串末尾再加個結束符'\0';

例2。s="123"; c='2'

第1次迴圈: *str='1', '1'!='2'都成立,所以進入迴圈str++;

第1次迴圈: *str='2', '2'!='2',因為'2'=='2'所以判斷結果為0,不再進入迴圈;

進入if判斷:*str='2';ch='2',二者相等,所以不滿足條件,不進入判斷。

所以不會改變原來字串模樣。

總結:思路是:在字串中找一個字元,如果沒有找到就操作最後結束符,把新字元補充在該位置。如果找到,就退出此函式,什麼事也不做。

判斷字元在不在裡面就是用個指標移動指向字串的位置,然後用*str!=ch來判斷,如果相同指標就不再指向下一個位置,並且不進入if判斷。

怎麼將最後的字元插在最後面的見我舉例的例1

c語言的一些題目:不太理解**,求詳細解釋,手寫部分看不懂 10

2樓:

首先main()是主函式,通俗來說就是一個程式的入口,只能先執行main函式。

而題中的fun在main中被呼叫了,並且傳入的引數值是500從題目中得知,需要取 被13或17整除的數字下圖紅框可知,k就是那個除數,也就是500,所以int fun括號中輸入的應該是k

所以填入int k

最後題目要求最大十個,我也懶得說了

3樓:匿名使用者

main是主函式,fun是呼叫函式,按照這個思路去看就能明白了

哪位大蝦可以幫我解釋一道c語言的題目?我看不懂啊...給我讀讀這個程式 說的什麼意思呢??

4樓:匿名使用者

#include"stdio.h"

main()

//這裡沒有"break",繼續下一個"case "

case 1:switch(c) }}

//整個程式好像不是很完整。以上純屬個人理解。你看看

c語言的問題,不太理解這個函式,大神給解釋一下

5樓:自我程式設計

fgets函式原型

char *fgets(char *buf, int bufsize, file *stream);

引數*buf: 字元型指標,指向用來儲存所得資料的地址。

bufsize: 整型資料,指明儲存資料的大小。

*stream: 檔案結構體指標,將要讀取的檔案流。

含義:從檔案結構體指標stream中讀取資料,每次讀取一行。讀取的資料儲存在buf指向的字元陣列中,每次最多讀取bufsize-1個字元(第bufsize個字元賦'\0'),如果檔案中的該行,不足bufsize個字元,則讀完該行就結束。

如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩衝區總是以null字元結尾,對fgets的下一次呼叫會繼續讀該行。函式成功將返回buf,失敗或讀到檔案結尾返回null。

下面我對你這個**補充說明:

stdin是c語言中標準輸入流,一般用於獲取鍵盤輸入所以** ret_val = fgets(st, n, stdin); 這裡意思:

從鍵盤讀入n位字元+結束'\0’存放到st陣列中。

而判斷if (ret_val)

輸入9個字元。列印前5個。

輸入4個字元。列印全部。

6樓:

char * s_gets(char *st, int n)

return ret_val;//返回}

7樓:匿名使用者

大致意思是一次從stdin讀取一行,最多n個字元, 如果n個裡面包含回車,擷取回車前面的

如果不包含回車,一致讀直到讀到回車

8樓:匿名使用者

返回一個指向字串的指標

C語言題目,能解答給過程嗎,C語言題目每一步要有過程求大佬解答。。

自我程式設計 你這個 結構陣列xs初始化,大括號只是劃分了兩個陣列元素,內部成員陣列沒有明確劃分,這屬於定義不明確!所以一般編譯器會按照結構內部空間順序賦初值。所以,xs 0 的成員no,cj 0 cj 1 cj 2 分別對應初值1,60,61,0。最後乙個0是因為初值個數不完全對應,沒有初值的就取...

請c語言高手解答下,C語言題目,求大佬解答

include int main s i k s 0 1 一的階層不再迴圈裡。for i 0 i 50 i 求各個奇數階層的總和printf d sum 輸出。return 0 include include char a 10 b 40000 void largeadd char aa,char ...

c語言請大神幫忙看看解釋一下題目謝謝

回憶在上輩子 第七題選c if中如果a大於b就讓a b,b c 逗號運算子 而a是不大於b的所以這個不執行 所以結果是10 50 10 第九題b和d你都沒選我就不說了 c switch中x是float型別資料c語言中這裡是不能使用float資料的 為什麼?這是gui定 第十一題 第一次執行switc...