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

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

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語言程式設計題 急求答案

最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即 輕...

求解一道c語言填空題答案,求解一道C語言填空題答案

我來湊一下熱鬧 呵呵 1 主函式裡的p fun std,n stu p 所以 stu 2 題目 找出指定編號 函式用for來求出std i num 與num對比,當兩個字串相同裡就反回該學生!所以答案為 std i num 樓上 magipan 說用std i num,我覺得不對,因為 的左邊應該是...

一道c語言題,考試中,一道C語言題

include include struct t void sort struct t items,int low,int high main 另外,團idc網上有許多產品 便宜有口碑。找最大值和最大值在陣列a中的索引。for i 0 i 10 i scanf d a i 輸入10個數字。著重講一下...