C語言的一道題目,求解釋,一道C語言題目求解釋!

2021-03-11 05:38:51 字數 1378 閱讀 6954

1樓:美li世界de孤兒

輸出的是字串長度,應該是7

fun函式的形參看似是字元陣列char s,實際是char *s,c語言裡陣列名的本質版是指標,所以函式裡

權可以宣告char *p=s

這是p和s其實都指向記憶體裡的同一個地址、然後while迴圈的作用是讓p指向這個字元陣列的最後一個字元、由於字串都是已尾零結尾的(即最後一個字元是 \0)所以當讀到尾零的時候跳出while迴圈,最後return的p-s就是字元個數了

指正相減是這樣算的:(p-s)/sizeof(char) 這裡的char是指標的基型別

2樓:cindere鞡

你好:答案選

來c 7。

因為fun函式傳自遞一個陣列(在此可看做一個指標),然後在main裡傳遞「0abcdef」字串,相當於一個陣列,然後fun函式裡先為指標p賦值,它指向陣列的首元素字元「0」,然後while裡*p!=0先取指標p所指向的值,然後判斷是否為0,條件為真時p這個指標地址加1,當越過陣列邊界時,就是f的下一個元素時,此時地址裡邊沒有元素,為數字「0」,所以退出while。

返回值是p地址減去s地址,注意,不是p所指地址裡的值減去s地址裡的值,僅僅只是地址相減。

希望我的回答能幫助到你。

3樓:城華

函式bai形參為char s,是字元陣列duchar *p = s;宣告字元指標p,並初始化zhi為指向字元陣列dao

第一專個元素o

在指標p未到達字屬符陣列結尾『\0』之前,使p指標自增一迴圈結束,p指向f後一個元素『\0』

函式返回值為偏移量p-s=(x+7)-x = 7oabcdef\0

0 1 2345 6 7【相對偏移量】

4樓:匿名使用者

這是求一個字串長度的函式

一道c語言題目求解釋! 20

5樓:希聲和寡

輸出: 3

原因:switch(a%3) //a=16,a%3=1 }

6樓:匿名使用者

switch(a%3)

//so i guss m==3 right?

c語言一道題,求解釋?

7樓:

輸入比如 13+4-15+6-12=這樣的加減法表示式並根據表示式計算結果

8樓:這名字真的很俗

把輸入的字元轉化成int型

如果oldc為『+』,則執行加法運算,否則執行減法運算;

輸出sum

迴圈一直到輸入為'='時結束

這個其實就是類似於簡單的 '計算機'!呵呵!

c語言一道題,求解釋,一道C語言題,求解釋

輸入比如 13 4 15 6 12 這樣的加減法表示式並根據表示式計算結果 把輸入的字元轉化成int型 如果oldc為 則執行加法運算,否則執行減法運算 輸出sum 迴圈一直到輸入為 時結束 這個其實就是類似於簡單的 計算機 呵呵 一道c語言題,求解釋 題目輸出的是 指標所指的字串的長度。一共是10...

求解一道c語言題,求解一道c語言題目 結構體的!!

因為p b,p指向的是fun 函式的中b陣列,而不是main 函式中的a陣列,所以不會修改a陣列的內容 如果這樣就會輸出abcde了 include void fun char p,int n int main 請注意fun 函式中的for迴圈頭部 for i 0,p b i 其中有p b,因此在迴...

求教!一道C語言題目,求教一道C語言的題目!

你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...