C語言中的一道例題,誰能幫忙詳細解釋一下每一步的含義

2021-03-10 19:22:37 字數 771 閱讀 5741

1樓:匿名使用者

輸出為: bcdefgha

解釋:char *ss( char *s) 函式ss 返回一個指向字串的指標;專函式引數 s 是一個指向字串的指標

這樣,在

屬main 中呼叫 ss(str)後,s指向了str的首元素,也就是「abcdefgh"中的 『a'

char *p, t //定義一個char 指標 p 和一個char 變數 t

p = s+1 p指向s的第二個元素 , 及 p 指向了 'b'

t = *s // 取出第一個元素 'a' 存放到變數 t

while(*p) {} 這是一個迴圈, 迴圈結束條件為*p == null ,或者當 *p != null 就迴圈。注意:*p==null表示遇到字串結尾;

迴圈體:*(p-1) = *p; p++; 將每個字元前一次,就是將 二個元素移動第一,第三個移動到第二....以此類推。

最後 *(p-1) =t 將第一個元素移動到最後

另外:注意 char str[10] = "abcdefgh" ,意思是 定義了10個char元素陣列,並初始化前8個元素;剩下的str[8]和str[9]被初始化為0,就是 null字元j

2樓:

#include

char *ss(char *s)

*(p-1)=t;// 此時p-1剛好為s的最後一位,將t中值賦給p-1

的地址return s;

}main()

輸出結果:bcdefgha

一道c語言程式設計題請高手幫忙,一道C語言程式設計題,請高手幫忙!

很簡單啊。仔細看這點for for i 3 i 1 i sum 0 不論第一個for迴圈執行多少次,sum都被重新賦值為0,當i 1做最後一次迴圈時,在進入第二個for迴圈之前sum 0進入第二個for迴圈後,for j 1 j i j 等價於 for j 1 j 1 j 所以只執行一次迴圈,所以此...

一道C語言習題!?大家幫幫忙一道c語言的題目請各位幫幫忙,急得很,先謝謝大家了!!!

an x x bai2 x du3 x 4 1 n 1 x n an 1 x x 2 x 3 x 4 1 n 1 x n 1 n x n 1 x 1 an 所以第一個空zhi是 x 第二dao 個是 1 px x,n 1 求 baix x 2 x 3 x 4 1 n 1 x n x提出後du 就是 ...

求詳細解答一道c語言題

外迴圈執行2次,分別是k 4,k 4時。當k 2時,執行內迴圈,計算s,這個值要被後面覆蓋,不分析了。當k 4時,執行內迴圈,s 1 4 5 10。結論程式執行後輸出 10 k 2時 for j k j 6 j s j 執行的是 s 1 2 3 4 5的結果 k 4時 for j k j 6 j s...