這道C語言的答案為什麼是這樣,看一道C語言程式答案,為什麼會這樣?

時間 2021-08-11 15:51:31

1樓:匿名使用者

1、“能整除形參x且不是偶數的各整數” 是說求“各整數”。這個“各整數”滿足兩個特徵:“能整除形參x”, “不是偶數”,這兩個特徵寫成**就是:((x%i==0)&&(i%2))

2、“這些除數的個數通過形參n返回”, 是通過形參返回,而不是返回值返回。如果用return就 是函式的返回值。形參是n,兩條語句“

*n=0;" 和 ”(*n)++“ 即為將形參n指向的int型變數賦值為“這些除數的個數”。

2樓:

1.你寫錯了。是i%2不是i&2。%是取餘除,所以i%2不為0就說明i不能被2整除,不能被2整除的整數肯定不是偶數,這不剛好符合要求嗎?

2.你把“返回”理解得太狹隘了,n是指標,當然會在fun返回時“帶回來”被fun改變了的值。函式返回一個值,不一定一定要用函式返回,用指標和全域性變數都能完成。

當然你把fun定義成有返回值的函式int fun(),最後用一句return *n也能行。

3樓:匿名使用者

1、題目說 能整除形參x且不是偶數的各整數,不是x不是偶數,而是所求的數i要求不是偶數。能整除形參x的條件是(x%i==0)而i不是偶數的條件是(i%2),兩者都要成立,則寫成if((x%i==0)&&(i%2));

2、n是通過指標方法傳到函式中來,在函式內已對n作修改

4樓:伯度空間

1.i%2為奇數時才為true

2.指標操作時是址傳遞。

》我要問的是:找出的數能被x整除,而且不偶數,那為什麼不能寫成if((x%i==0)&&(i%2!=0))?

效果應該是一樣的。

5樓:賴福平

i%2得到的結果非0為1,0則為0.

給形參而不是返回值,給形參是把得到的結果賦值給形參。和返回值不同,返回值是函式執行之後返回的結果。

看一道c語言程式答案,為什麼會這樣?

6樓:匿名使用者

a bc1=a,c2= ,c3=bpress any key to continue

這是在我機器上的執行結果vc 6.0

scanf("%c"),是一個一個字元的讀的,包括空格和回車.

7樓:

輸出是c1=a,c2=b,c3=a ??

那就看不明白了。。

要是想輸入a,b。。中間不是空格,是回車

8樓:

scanf函式輸入多個字元就是以空格作為字元間隔,表示一個字元輸入結束,開始輸入下一個字元,所以實際上你只輸入了兩個字元.a和b.

而c3你沒有輸入任何字元,所以應該不會顯示c3=a,所以你這個應該不是正確答案.

9樓:匿名使用者

這裡讀取的是字元型的資料,不指定scanf的分隔符的話會把空格也讀取,輸出應該是c1=a.c2= ,c3=b

10樓:飛龍在天

輸入格式是在函式scanf("%c%c%c",&c1,&c2,&c3); 確定的,在輸入的時候要跟scanf裡的格式一致,這裡在%c之間加空格應該就可以的

11樓:高速路上飆單車

scanf("%c %c %c",&c1,&c2,&c3);

你%c之間用個空格

12樓:匿名使用者

書上的結果是對的,建議你換個編譯器

13樓:匿名使用者

可能你定義位字元,而“空格”也是字元,所以就成那樣了,即使輸入a b c好像也不對

求解一道c語言題。答案為什麼這麼寫?

14樓:匿名使用者

第1堆是a[0],第2堆是a[1],第3堆是a[2]。

這裡說明一下(i+1)%3。表示用(i+1)/3取餘數。當i=2時,i+1=3,3/3餘數為0,則(i+1)%3=0。

程式的思想是倒推。首先第一個for迴圈第一條語句執行,此時i=2。 a[(i+1)%3]表示a[0]。

a[0]/=2就是把自己本身/2,這樣第1堆火柴恢復到第3堆火柴給它火柴之前的狀態。然後a[i]+=a[(i+1)%3];這樣第3堆火柴剛剛分出去的火柴也加回來了。

然後迴圈第二遍,此時i=1。a[(i+1)%3]表示a[2]。分析思路相同……

最後陣列a中存的火柴恢復了初始狀態,迴圈輸出一遍完事。

15樓:匿名使用者

就是把過程倒過來啊

第一堆減半,加到第三堆

第三堆減半,加給第二堆

第二堆減半,加給第一堆

這道c語言程式設計選擇題答案為什麼是a?

16樓:匿名使用者

什麼是程式設計 話就從一個著名的公式說起

17樓:岔路程式緣

x+a%3*(int)(x+y)%2/4

=2.5+7%3*(int)(2.5+4.7)%2/4=2.5+1*(int)(7.2)%2/4=2.5+7%2/4

=2.5+1/4

=2.5+0

=2.6

C語言求解,為什麼下面這道題答案是

因為k是int型,所以在k被賦值為3.4的時候,實際上轉換成了3 精度損失了 add並沒有改變 k的值,因為c中的引數傳遞是按照值傳遞的,a實際上等於4了,但在add 執行完之後,a就被釋放掉了,k仍然沒變,所以還是3. 因為你那個add函式的引數a是值傳遞的,所以呼叫add k 後不會改變k的值,...

C語言 這道題答案為什麼是0BC而不是10BC

for迴圈後面有乙個分號,也就是說for迴圈的迴圈體為空,這個迴圈不做任何事情,只是改變k的值,直到k為0.答案是bc,c這個答案怎麼來的啊?應該是ac b和c是乙個意思 b是流程再造,屬於改進的一部分 這道題如何算出答案1bc,a23?這兩個字串交換了第乙個位置,在函式裡面。t x 這裡的 x可以...

c語言中,這道題的輸出結果為什麼是70呢

x string x 所以sizeof x 7 因為strlen 以判斷到 0 也就是0 作為字串結尾標識,所以x 0 0,導致strlen在判斷x 0 時就認為到字串末尾了,因此返回0 d d 列印出來就是 70 阿爾邁凡 sizeof是求變數戰勝記憶體大小的 char x string 記憶體中...