c語言選擇題,大佬們能解釋下這個為什麼選A嗎?謝謝

2021-03-08 18:04:30 字數 1250 閱讀 5833

1樓:夏侯梵勤福宇

……就是選a啊,空格處要按照8進位制升一階,同時把新輸入的一位作為最低位加進來,

所以是 n = n*8 + s[j-1] - '0';

b錯在陣列下標不對,而且也忘了把ascii字元轉換為數字;

c錯在最後減掉的是0,根本沒有把ascii字元轉換過來;

d綜合了bc的錯處,錯到爺爺輩去了……

好好學習天天向上

2樓:弒緋

你把switch語句整理下格式,在看看就好理解了

switch(n++)

因為int n ='c',這裡的n其實是賦值的ascii碼。這個你應該理解把,不能理解,就去看書了。然後我們看switch語句,篩選條件是n++,既然是自加符號在變數的後面,那麼在進行條件判斷時,是先進行判斷,判斷完畢後再進行自加。

所以這裡的條件其實還是'c',即它對應的ascii碼。接下來我們去case條件中去找對應的條件,即case 'c':。因為該條件沒有需要執行的語句,且沒有break。

根據**自上而下執行的順序,會以此執行case 'c'。即列印出"pass",此時還是沒有break去停止switch語句。所以**繼續執行,執行case 'd',但該條沒有執行語句。

繼續往下執行case 'd',即列印"warn"。此時switch語句所有條件執行完畢。程式結束。

所以最終的列印結果為passwarn,選a

c語言選擇題,求大佬解釋一下答案為啥是d

3樓:北京泗洪人

你自己跟著程式執行一下,就知道為啥答案是d:1~10的偶數和了。

s=0第一次迴圈,i=1, i+1=2

s=0+2

第二次迴圈,i=i+2=1+2=3, i=3+1=4s=2+4

最後一次迴圈,i=9, i+1=10

s=2+4+...+10

這不就是1~10的偶數和嗎?

c語言程式題,求助大佬,為什麼選a?

4樓:匿名使用者

i從du1變化到5

if(i%2) printf("*");

else continue;

printf("#");

中的if(i%2)相當

zhi於if(i%2!=0),也就是

dao內說當i為奇數的時候,會輸出*號和#號,i從容1到5,奇數就是1、3、5,那輸出自然就是*#*#*#,加上最後的$,結果自然就是a了

C語言選擇題求解快

你是 的學生 吧?這是學校機房無憂考試系統c語言a卷裡面的題目吧?以下給你詳解 希望課後能仔細推敲認真考證,不枉汽院學子之身份!以下能正確定義字串的語句是 d a char str b char str c char str x43 d char str 0 a 定義的是字元陣列,這個陣列只有一個元...

c語言選擇題兩道,求詳細解釋。謝謝

1 x 12345 y 0 while x true x 10 5 case 5 y 2,x 10 break x 1234,y 2 while x true x 10 4 default y 3 x 10 x 123 y 5 while x true x 10 3 case 3 y x 10 ca...

求教幾道C語言選擇題詳細解答

第一題 a。解析 首先得到一個靜態陣列a,指標p指向a 0 p 3 4可寫為 p 3 p 3 4,p 3的意思是指標移動至a 3 所在單元,p 3 是取值,即為9,那麼運算 p 3 4得 p 3 的最終值為13,p由於指向陣列初位置則 p為1.第二題 b。解析 第一全域性變數b 3,先看main函式...