c語言的一道題 答案k 4 a 12 為什麼

2021-12-22 19:23:14 字數 2687 閱讀 9597

1樓:匿名使用者

我來回答一下吧。

首先進入迴圈前k=0,a=0

第一次迴圈:k++後,k=1,不滿足if語句執行條件,所以a=a+(s[1]-'0'),a=0+(32-30)=2

第二次迴圈:k++後,k=2,滿足if語句執行條件,所以a=a+(s[2]-'0'+1),a=2+(31-30+1)=4

第三次迴圈:k++後,k=3,不滿足if語句執行條件,所以a=a+(s[3]-'0'),a=4+(33-30)=7

第四次迴圈:k++後,k=4,滿足if語句執行條件,所以a=a+(s[4]-'0'+1),a=7+(34-30+1)=12

第五次迴圈時:後,由於迴圈條件s[5]為“\0”,不滿足迴圈執行條件

所以k=4,a=12

char *s="12134",是字元型陣列,其實裡面的12134分開表示應該是‘1’ ‘2’ ‘1’ ‘3’ ‘4’,ascii要換成十進位制資料31 32 31 33 34 ,這樣其實你就會做了。

continue的作用是跳出本次迴圈。

希望能夠幫到你。

2樓:匿名使用者

變數k,a的值為4 ,12

3樓:鏡蔓楊清雅

while(s[k+1])

{k++;

{當s[k+1]為真k++,s裡面有5個元素,k從0開始因為s[5]不存在,所以k=4

4樓:zyz鄭遠征

第1次迴圈:k=0,s[k+1]=s[1]='2',a=0+(2+1)=3;

第2次迴圈:k=1,s[k+1]=s[2]='1',a=3+(1+1)=5;

第3次迴圈:k=2,s[k+1]=s[3]='3',a=5+(3+1)=9;

第4次迴圈:k=3,s[k+1]=s[4]='4',a=9+(4+1)=14;

第5次迴圈:k=4,s[k+1]=s[5]='\0',while條件不滿足,while迴圈結束。

所以k=4;a=14。

while迴圈中的continue導致後面那句a=a+(s[k]-'0');從沒執行過。

c語言一道題,其實我看哪個都對,答案是a

5樓:匿名使用者

a是陣列名,相當於指來針常自量,所以是不能賦值為其他值bai的。

雖然dud和a的值相等,但a=d依然是zhi錯的。

就像dao是 const int a=5;

然後再做a=5; 雖然不會改變a的值,但編譯器不管那些,只要嘗試給常量賦值就會報錯。

其他幾個正確。

6樓:小痞子

在定義陣列的同時呢定義了一個指標,而a是陣列的首地址,當把a的值給指標d時,說明d已經指向了陣列,當然和a有一樣的值啦

c語言的一道題 答案k=4 a=12 為什麼

7樓:匿名使用者

while(s[k+1])

{k++;

{當s[k+1]為真k++,s裡面有5個元素,k從0開始因為s[5]不存在,所以k=4

8樓:王德雄

k=4時,s[k+1]=s[5]='\0';迴圈結束。a的值相當於(2+1)+(3+1)+(4+1)=12;**a=a+(s[k]-'0');這句根本就不會執行

c語言中有一道題目:已知"int a=4,b=5,c;",則執行表示式"c=a=a>b後變數a的值為( ) a 0 b 1 c 4 d 5

9樓:匿名使用者

這個涉及到c語言的單目運算子優先順序與結合性的知識:

62616964757a686964616fe59b9ee7ad9431333330356165

優先順序:

在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子優先順序相同時,則按運算子的結合性所規定的結合方向處理。

結合性:

c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與“-”號結合,執行x-y 運算,然後再執行+z 的運算。

這種自左至右的結合 方向就稱為“左結合性”。而自右至左的結合方向稱為“右結合性”。

在你的問題中,"="在表示式中是賦值運算子,而在c語言中,賦值運算子是典型的右結合性運算子。如x=y=z,由於“=”的右結合性,應先執行y=z 再執行x=(y=z)運算。

所以,本例就是先計算雙目運算子“>”:a>b,因為a=4,b=5,a是小於b的,所以式子計算就變成了c = a = 0,然後再計算a = 0(即a = (a > b)),最後式子就是c = 0, 所以答案選a

具體運算子優先順序和結核性請參考:

10樓:0冷雨

答案是a;因為a=a>b意思為把波爾值a>b賦值給a,因為a大於b,a>b等於0,所以a為0.望採納~

11樓:匿名使用者

a, a=0

= 是由du右向zhi左運算的,

a>b值為daofalse,值為0

所以c=a=0

另外也可以專寫程式屬驗證:

#include

int main(void)

一道C語言程式設計題,一道C語言程式設計題

include include define change 0 int main void 你的串號我已經記下,採納後我會幫你製作 應該算是比較完整的程式了,如果你的問題還有補充的話請告訴我.author banxi1988 date 2010 12 9 include include define...

c語言小白求解一道題,C語言小白求解一道題。

include include int main if num 10 2 while num printf 是偶數reverse d n reverse return 0 include include int odd int num 對num第二位進行判斷奇偶性,是奇數則返回1偶數返回0 int ...

一道簡單的c語言程式設計題,C語言指標一道簡單的程式設計題

include include int main c語言程式如下,源謝謝採納。不借助臨時變數 include include void main 不用藉助變數藉助變數 int a,b,c 同樣的輸入 c a a b b c 這是核心演算法,其版餘的加齊 權就行了 數字是多大哦,幾百億?include...