二級c語言問題高手進吧

時間 2022-08-20 16:05:07

1樓:匿名使用者

這題該選a

題意是 定義了char *st="how are you";這樣乙個字元指標,

a b c d四個選項中 那個用法沒有錯誤,就是這四句話哪個既沒有語法詞法錯誤,也沒有語義錯誤。

a 選項正確,是從 st+4 的位址開始取字元賦給 a+1 的位址,就是把"are you"分別賦給a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7].a[8]也被賦值'\0'

b 錯誤,++a不可以,a是陣列名

c 錯誤,因為"how are you"字串後面還有乙個'\0'作為結束字元,字元總數是12個,但是a陣列長度只有11,不夠長。

d 錯誤,char a; 靜態定義陣列的時候必須給出陣列的長度

補充:樓上的錯了! st字串的長度為12,定義的陣列是11,結束字元'\0'往哪放呢?

2樓:

選c,字元陣列a[11]的首位址a是常量,而++a卻把它當變數處理,b排除,strcpy函式是將乙個字串複製到乙個字元陣列中,裡面的引數應該都是該字元陣列的首位址,是常量,則排除a,d

c語言二級指標問題,C語言二級指標問題

1 通過二級指標去訪問二維陣列需要先給二級指標分配等同於二維陣列行數的一維陣列指標,然後把二維陣列的每行首地址賦值給對應位置的一維指標上。之後就可以通過二維指標直接訪問了。2 參考 如下,可以看具體註釋輔助理解。include 輸入輸出標頭檔案。include 本程式需要用到malloc free函...

C語言二級問題

你程式下面的第一句話很不嚴謹啊 呵呵 不加的話就變成了b 2.0.這是啥意思啊?開玩笑啦 double相當於double float的縮寫,意思是兩倍的float型別空間 可以儲存多倍於float的資料 不一定是兩倍,編譯器不同結果不同 當然,數字小的話沒什麼區別 下面是c 上的參考資料 float...

二級c語言的選擇題又麻煩大家了,二級C語言的選擇題 又麻煩大家了

犍為真人 20 每個case後都沒有出現break,所以它們會一直執行到最後,即執行到default,在default中出現v0 1,v2 1,所以輸入多少個字元,v0,v1就會增加多少。v1 1出現在case u 但是它之前的case中,都沒有break語句,所以,只要是a,a,e,e,i,i,o...