C語言奇怪的結果!求解

2022-11-24 00:36:46 字數 399 閱讀 7925

1樓:兔子和小強

x[k]!='\0'這個判斷條件只是針對字串,因為字串以'\0'結束。但對其他陣列不成立

當k=0時,x[k]!='\0'不成立,退出迴圈,此時執行y[k] = '\0'也就是y[0] = 0所以

陣列b是

0 22 55 33 0 0 0 0 0 0

而如果改成非零數字,編譯器幫你初始化了空間,把其他元素都置為0,所以可以執行正確。

不過有些編譯器不一定會負責初始化空間。想遍歷陣列還是利用陣列長度來做。

2樓:匿名使用者

for(k=0;x[k]!='\0';k++)

這裡錯了,用'\0'做結尾的只有字元陣列,其實就是整數0,你的整數陣列第一個就是0,當然就結束了

C語言,這個執行結果為什麼是aaaaa,求解答

putchar 引數 這個輸 bai出函式做的du事,是把 引數zhi 看作 ascii 碼 編碼值,轉換成 dao對應的字元,版列印出來。權 英文小寫字母 a 的 ascii 碼值 是 97。所以只要引數是 97,輸出都是 小寫字母 a。a 是字元常量,數值97。y 宣告時,初值給了 a 等於 9...

求解c語言程式設計題,求解C語言程式設計題

這是while迴圈裡套一個switch語句。switch語句的執行規則是,首先計算出switch後面表示式的值,然後將這個值與case後面的值相比較,若相等則從該case語句塊開始執行 若沒有相等的,則執行default語句 遇到break語句或是執行完最後一個語句則跳出switch語句。上面這道題...

求解c語言程式,求解一個c語言程式

include include int main 不太清楚,不過,我執行是 43 i 0時,s 0 52 48 4,i i 2 2 i 2時,s 10 4 51 48 43,i i 2 4 i 4時,不滿足迴圈條件,跳出迴圈執行下一句printf d n s 輸出43 算的不對,第一,i 0,s 1...