有以下程式mianint m 0256,n 256 printfo o n ,mn,n程式執行後的輸出結果是

2021-03-25 22:12:43 字數 3304 閱讀 3741

1樓:

m=0256 -- 0 開始的數,其它 數字為0到7,是 8 進位制數

%o 是 按 8 進位制數 格式 輸出。

所以 printf("%o %o\n",m,n); // 不是 mn,n, 應是 m,n

m 輸出 256

---n=256 -- 這裡256是10進位制數。

%o 是 按 8 進位制數 格式 輸出,10進位制 256 要轉 8 進位制數

256 除 8 得 32 取餘數 0

32 除 8 得 4 取餘數 0

4 除 8 得 0 取餘數 4

10進位制 256 的 8 進位制 為 400--執行輸出

256 400

main() {int m=0256,n=256; printf("%o %o\n",mn,n) 結果是256 400

2樓:臨_海

0256是8進位制;mn肯定是錯的;應該是作者打m時不小心再按了一下n;%o表示以8進位制形式輸出。

3樓:

mn沒什麼特別的意思,寫錯了。應該是m。

整型常量有3種表示方式:

①十進位制整數。例內如,容123、一456、0。

②八進位制整數。以0開頭的整數是八進位制數。例如,0123表示8進位制數123<8),等於十進位制數83。

③十六進位制整數。以ox或0x開頭的整數是十六進位制數。例如,0x1.23或0xl 23表示十六進位制數123…),等於十進位制數291。

void main() { int m=0256 ,n=256; printf("%o%o\n",m,n);} 程式執行後輸出的結果是_,_。

4樓:

答案:256,400

int m=0256 ,n=256;

/*%o表示以八進位制格式輸出

。因為m=0256,前回綴是0,表示的就是八進位制數,所以輸出的m的值答256。

n=256,表示的是十進位制整數,輸出要以八進位制格式輸出,所以是400,即4*8^2=256。*/

5樓:匿名使用者

無符號8位整形,轉換成8進位制數就行了~

6樓:匿名使用者

不知道c語言中是否允許主函式為void,反正c++是不允許的,好吧回到問題%o意為轉化為8進位制所以答案是400400(回車)兩個四百,因為int是會忽略前導0的,所以mn沒區別再做個進位制轉化就好

7樓:遲新蘭碧黛

mn沒什麼bai特別的意思,寫錯了du。應該是m。

整型zhi常量有3種表dao示方式:

①十進位制內整數。例如,123、容一456、0。

②八進位制整數。以0開頭的整數是八進位制數。例如,0123表示8進位制數123<8),等於十進位制數83。

③十六進位制整數。以ox或0x開頭的整數是十六進位制數。例如,0x1.23或0xl

23表示十六進位制數123…),等於十進位制數291。

main( ) {int m=0256,n=256;printf(%o %o\n",mn,n);}程式執行後的輸出結果是? 5

8樓:

哎喲,又是這種問輸出結果的。

你那裡 printf 少一個引號 看見了嗎,mn還沒定義呢

main(){int m=0256,n=256;printf(「%o %o\n」,m,n);}結果

9樓:匿名使用者

輸出bai256 400c語言中,用%o輸出八進位制,複製的

du時候,第一zhi位是的數0表示是dao8進製版

。m=0256,所以m中存放權的是8進位制的256.printf(「%o %o\n」,m,n);按八進位制輸出,第一個本來就八進位制,所以就直接輸出了256,第二個本來是十進位制,按八進位制輸出,就轉換成了八進位制。

十進位制256=八進位制400

一道c語言選擇題誰能把它算出來啊

10樓:匿名使用者

答案是c

%o是使用八進位制輸出

m=0256,以0開頭的數是八進位制數,即為八進位制的256,輸出為256

n=256,是十進位制數,換算成八進位制數後為400,所以輸出為400

11樓:匿名使用者

唉,還多打了個n,應該是printf("%o %o\n",m,n);

樓上的都說了,我就不用說了。

12樓:匿名使用者

執行下就知道了,答案是c.

13樓:卡卡路西尼

執行結果選擇c 0256是八進位制數,輸出結果不變

256十進位制數換算成八進位制是400

關於c語言的問題: 拜託大家給我解答這兩道題,我想知道為什麼,

14樓:匿名使用者

1 am = 0256 ,這是來8進位制數

源256,因此用8進位制顯bai示就是du256n = 256,這是10進位制數256,用zhi8進位制顯示就是4002 aa = a - a + 0;//該句會報錯,daoa未定義,應是'a'才對

15樓:陳一根

除8取餘

a=a-a+'0' 這時 a='1'

b=b*2; ==66 66的ascii代表的是b所以答案是 b

16樓:匿名使用者

你的程式

bai有問題,分du析題意,我做了一點變化zhi:

1、有以下程式

printf("%o %o\n",m,n);

2、已知dao字元a的專ascii**值為65,以下程式屬執行時若從鍵盤輸入:b33《回車》。輸出結果是

a=a-'a'+'0';

對於第一題:m=0256,賦值語句將m變為八進位制數,所以,輸出時以八進位制直接輸出256,;n=256,n是十進位制變數,以八進位制輸出時,系統自動轉換,就是400.

對於第二題:getchar()只提取一個字元賦給a,故a='b',scanf()則是輸入int型到b,則b的值為33,之後是相應的運算,只有自己體會,無法向你說明白!

有以下程式

17樓:匿名使用者

答案是b。

你為什麼會編譯出錯,很簡單,int m=o256這裡不是英文字母o,而是數字零0.代表m是八進位制256.

18樓:匿名使用者

o應該是表示八進位制的意思,不過應該輸入的是數字0

有以下程式,有以下程式 include int abc int u,int v main int a 24,b 16,c c abc a,b printf d n ,c

這個是輾轉相除法 求最大公約數的,24和16的最大公約數就是8具體過程 a 24 b 16 於是函式abc中 u 24 v 16 while v 第一次迴圈 w 24 16 8 u v 16 v w 8第二次迴圈 w 16 8 0 u v 8 v w 0第三次 判斷v為0,退出迴圈 返回u值為8 首...

有以下程式includestdiohmain

include main if c 3 d 1 如果c 3或者d 1有一個成立,則執行if語句 如果兩個都不成立,則不執行 你覺得你程式抄寫對了嗎?我覺得程式你抄寫漏了喲。a 2是賦值,而不是比較,我估計應該是a 2.如果是由兩個等號,請看我的註釋。輸出為 1,2,0,4.這程式能執行嗎。有以下程式...

有以下程式 mainint x 1y 0i

結果是copy0 x 1,x為false 所以再判斷x 0也不成立故y 0else if x 0 if x y 2 else y 3 和else if x 0 是一樣的意思 最後輸出的結zhi果是0,還原一下程 dao序就可以看的更清楚 include int main else if x 0 el...