當前位置:編程學習大全網 - 編程軟體 - 三個C語言筆題

三個C語言筆題

1)輸出是31,49,1。原因是%x指的是16中的輸出,1的ASCII碼是49,如果改成16就是31;%d是49,也許妳會說這裏應該是1,但是妳要註意,他加了單引號,說明他把1當成了字符,所以也是ASCII碼;%c知道這是1的正常輸出,因為1在這裏是壹個字符。

2)我的編譯器裏沒有輸出,但還是有用的。他的寫作應該沒有產出。

首先解釋壹下sprintf函數。sprintf()中的第壹個參數是妳要打印的數據保存的位置,通常是壹個數組或者指針,比如這裏的buf第二個參數是打印什麽格式,比如%s是按字符串;第三個參數是要打印的數據。其實很多參數都是可以遵循的。建議妳看看sprintf的用法。

第壹句,如果要輸出,他的結果是abc%defg%%d,

第二句,妳確定他寫對了嗎?我的編譯失敗了,有兩種方法可以糾正,分別是sprintf(buf,“%d”,100)或者sprintf(buf,“100”)。

3)輸出是-1,-2 & gt;對於位移運算,因為i=-1,所以二進制運算中實際運算是1111111。這就是二進制補碼和補碼的問題。& gt& gt要右移,右移壹位,大部分計算機都是算術右移,所以結果是111111,反碼+1得到-65438+。& lt& lt要左移,左移壹位,最右邊的1去掉變成0,然後1000010的原碼就是-2;

我不知道。妳看得懂嗎?

  • 上一篇:河南空氣質量持續改善。為什麽要努力改善空氣質量?
  • 下一篇:揚州華城科技廣場小區周邊配套怎麽樣?
  • copyright 2024編程學習大全網