c語言問題答案為什麼選c語言問題,答案為什麼選b

2021-05-20 02:03:36 字數 4267 閱讀 8230

1樓:匿名使用者

個人覺得答案是a有問題

16位 int是2個位元組,所以指標移動一個位元組很明顯是出問題了另外這個儲存單元指的是定義的資料型別佔用的空間大小,指標移動一個位置與指標移動一個儲存單元是一樣的,並沒有什麼問題,不知道答案b是怎麼得出來的

不管是移動2個位元組,1個位置,1個單元,本身就沒有問題,這個取決於你程式執行環境

2樓:

題目讓選「錯誤的說法」,a的說法是錯誤的,所以應該選a。b是正確的,在16位int平臺下,整數的一個儲存單元就是2位元組——個人理解,僅供參考……

c語言的問題,答案選b,對嗎?為什麼

3樓:陽頂天鹿鼎記

不對,i=010,是八進位制數,轉換為十進位制為8,所以輸出時i是後置++,輸出的值是8

j是10,也是後置++,所以輸出10,

4樓:it孤鶩

b 是對的

因為 010是八進位制啦 轉化十進位制就是9

5樓:匿名使用者

8,10

你是不是寫錯題目了。。。

c語言,答案為什麼選b?謝謝

6樓:匿名使用者

變數的作用域抄問題。printf 中的 i 是bai int i = 3 的du時候宣告的 i。zhi

int i = 5 的 i 一直有效,int f1 中的dao i ,操作的是 main 上面的 int i = 5 時宣告的 i。

但在 main 的 {} 中,int i = 5 的 i 被 int i = 3 的 i 掩蓋了。宣告瞭 int i = 3 之後,main 裡面操作的 i 是這個 i。

當碰到 main 裡面的 時,在這對 {} 中又宣告瞭一個 i,這時候在 {} 裡面的 i++ 是操作這個 i。但這個 i 作用域只在 {} 中,離開右邊的 } 其生命週期就結束了。

所以 i += 1操作的是 剛進 main 時宣告的 int i = 3 的 i。printf 中的也是,所以答案是 b,顯示 4

7樓:花落へべ若相惜

雖然全域性

的i初始值為bai5,但是在main(){}中,i被初始為du3(把全域性的i給覆蓋掉zhi了),

{int i=10}中的daoi的作用於僅限制在內{}內,不論怎麼操作,對於{}外的i沒影響,f1()中容的i實際是對全域性i的操作,不對main(){}中i=3影響,所以起作用的僅是i+=1結果為4,故選b

8樓:蔣裎馨

此題是為了理解變數的作用域!

int i=5; //這裡的i是全域性的變數i,這裡為了區分回叫i_1;

int fun()

int main()

//這裡的i有別於前面的值,叫做i_3;執行之後i_3=11;

fun(); //輸出的是6

i+=1; //執行此條語句操作的是 i_2,結果 i_2 = 4 ;

printf("%d\n",i); //輸出的是 i_2 ;

printf("\n");

system("pause");

return 0;}

9樓:匿名使用者

這道題目主要是區域性變抄量之間的問題,main()函式中,,然後呼叫fun(),由於沒有全域性變數,所以預設fun()當中的i初始值為0,所以fun中傳回來的i值是1,但是起不到任何的作用,所以還是i=3,下面i進行加1,值為4,中括號的僅僅在這個中括號中起作用,其餘地方不起作用

10樓:匿名使用者

f1() 這個功能就是一個干擾項,main裡面定義的i是一個區域性變數,他只在這個範圍內有效,所有對它的操作只有在main函式裡面才有用

11樓:匿名使用者

fi()  function 的 i用的宣告是 int i=5main() function 裡復  作用域制 只在這個{}內後邊bai 的 i+=1; 的生命是int i= 3;

都是基礎du知識,要好好zhi

看書,多上機實驗, 3個不同dao的作用域 分別用 m,n,i 區分int  m=5;

main()

f1();

i+=1;

print ("%d/n",i);

}f1()

c語言,13題答案選b為什麼

12樓:匿名使用者

題目中是4個用指數形式來表示浮點數:

a選項中,指數e出現了小數;

b選項表示0.1乘以10的0次方;

c選項中,沒有給出底數;

d選項中,沒有給出指封。

所以題目中只有b項是一個合理的數值。

13樓:匿名使用者

a 指數部分必須是整數

c 沒有有效數字部分

d 沒有指數部分

b 小數點前的整數部分可省略,即整數部分為0

14樓:匿名使用者

簡單的說,(

bain=c>d)這句被跳過

du去了,沒zhi有執行,所以n的值沒

dao有變化。下面說內

說為什麼會跳過去。容在邏輯運算表示式中,依次從左往右計算,一旦結果可以確定,後面的計算步驟就可以跳過,不再執行後面的計算。在例題中,計算邏輯與&&,其中一個運算元的結果是0(或者說是假),整個運算結果必然是假,後面就不再計算了。

c語言選擇,為什麼答案是b

15樓:匿名使用者

i=010;0在前面表示8進位制,所以010即是十進位制的8,

++i表示先加再用,所以++i 為9

j--表示先用再減,所以j--為10

16樓:一口沒水的枯井

^1. 在c語言中bai

010 是八進位制整數

其十進位制形du式為1*8^1+0*8^0=8故zhii的值為8

2. ++,-- 在變數前dao 則先計算++,--在變數後,則後計專算++,--

故++i 返回屬9

j-- 在列印時 返回其本身,因為還沒有來得及--故選b

17樓:匿名使用者

在數字前面加0表示八進位制

所以010實際上是8

++,--在前在後不一樣,在前是先進行自加與自減操作,這裡在後是先輸出,再執行自加或自減操作。

所以輸出的是9, 10

18樓:儒雅的春男

0 開頭的數字是八進位制,所以編譯器認為i是八進位制的010也就是十進位制的8,%d以十進位制輸出就是8,然後進行++ --運算就是b了。j-- 先輸出結果後--,所以還是10.

19樓:心向自由天空

010是八進位制,換成十進位制就是8

20樓:在子夜

在數字前面加上0是八進位制啦,010就是8咯

c語言程式簡單問題,如圖,為什麼選b

21樓:匿名使用者

這道題的答bai案是:du23

int a = 2, b = 5, c = 8;

printf("%3.0f\n", fun((int)fun(a+c,b),c));

fun(fun(a+c, b),c)

其實就是

zhia +c +b +c = 23;

因為本身a,b,c都是int,所

dao以內轉換為float不會有變容化。

c語言的問題,這道題選啥,我選的b可是答案選的是c,總感覺答案有問題?

22樓:匿名使用者

答案沒問題

(2+1+1)*2+1/2 = 4*2 + 0 = 8

注意整數相除1/2結果為0.

c語言選擇,為什麼答案是b

23樓:匿名使用者

這題就只需要注意一點,陣列的下標從0開始

第三個元素的下標是2

而"mary"這個字串的第一個字母是m所以是name[0]

24樓:匿名使用者

很簡單: class陣列「第2個」(陣列元素從「0」開始)元素是,name成員「第0個」是m。

以下是輸出:

a:db:m

c:ad:不確定

25樓:匿名使用者

c語言中陣列的索引都是從0開始的

c語言問題,C語言問題答案

void vtaskstartscheduler void privileged function 是函bai數定義,函式名 vtaskstartscheduler,void 表示 du該函式是無zhi參函式,前面的dao void 表示這個函式無返回回值。privileged function 是...

c語言問題,C語言問題

struct student拼寫成struct studnt了。拼寫錯誤 struct studnt沒有定義,所以無法執行sizeof。include typedef struct student int main c語言問題?嗯你的理解是對的,break就是用來跳出的switch,如果沒有brea...

c語言問題,c語言問題

首先你這個程式輸入個數是不可控的,n沒起到作用,因為你控制輸入的迴圈已經規定了i是從0到99,必須要輸入100個。而你這個 自認為統計總人數 的n n i,相當於n 1 2 3 那是不可能的。while xh i scanf d d xh i sg i n i sum sum sg i 用美元符號做...