1樓:匿名使用者
#include
f(int b[ ],int m,int n){int i,s=0;
for(i=m;i
m=i=3.n=7 3<7成立
s=4 i=5
2>m=i=5.m=7 5<7成立
s=10 i=7
3>m=i=7.n=7 7>7不成立
迴圈結束
輸出x等於返回值s 就等於10
2樓:倒黴熊
函式的f的意思是計算陣列b的下標從m開始到下標n-1,步長為2的元素的和。
f(a,3,7) = a[3]+a[5] =4+6 = 10;
陣列的下標是從0開始的。
3樓:
b[3] = 4,
b[5] = 6.
所以結果是 10.
注意: 陣列的初始位是從開始的, 就是說, a[0] = 1.
4樓:匿名使用者
程式進入f 函式後,執行到for迴圈時,i=m=3 ;n=7; b=;
進行第一次for迴圈時,s=0+b[3]=0+4=4(b[3]即b陣列的第四個值),i=3+2=5;滿足 5樓:手機使用者 小於n在第一個函式裡指的是陣列的每一個元素,因為第二個函式中ch是二維的陣列,所以傳到第一個函式裡時n代表的就是ch的一維陣列個數或者說ch的行數. 比如說 ch=,那麼它的各個元素就是雙引號裡面的每個字串(一維陣列),行數就是4(即n),列數可以是大於等於3的任何數(即m). 第一個函式是字元比較,如果*ss)[m], *t分別是二維陣列和一維陣列的話就是字串比較. 既然i 對於陣列,a 10 a代表首地址,a 0 a 1 代表的是第一個的值,所以要取地址,而b本來就是地址,不用再取 a是陣列首地址相當於a 0 a 1 是陣列第二個地址,錯誤 int a 10 a 0 a 1 是元素,不是地址。a 0 a 1 才是地址陣列名是地址,這是約定 int rootbeer 1... chp最初指向b 3 也就是 f while chp b 0 注意這裡有分號,迴圈體是空語句 chp先指向b 2 也就是 e 顯然 b 2 b 0 不成立,所以跳出迴圈 執行putchar chp 輸出字元e 首先char chp b 3 可以得知,chp f 然後while chp b 0 chp... 不考慮效能優化,只考慮功能可以這麼寫 include stdio.h include string.h define max str len 128int main char str2 max str len scanf s s str1,str2 for i 0 i strlen str1 i e...一道C語言的問題,一道c語言的問題
一道關於C語言指標問題,一道關於C語言的指標問題
求解一道C語言題,求解一道C語言題目