C語言菜鳥求教!兩種做法為什麼第二種的是對的第一種輸出是

時間 2022-07-15 19:05:02

1樓:匿名使用者

#include

int main()

2樓:匿名使用者

num是double型輸出的時候格式串要用 %lf

c語言菜鳥求教:請問下面這段解釋中“*(a+1)表示的是陣列a[1]中第一個元素的地址”是不是錯的

3樓:奮力衝

對啊,*(a+1)就是表示a[1]的儲存位置的,*(a+num)表示的實質就是a[num],只是寫法不一樣,*(a+num)更接近本質。

4樓:匿名使用者

他沒錯,你也沒說自錯,但你理解不到位。

*(a+1)是陣列元素。但a是二維陣列,那你就要再進一步理解了。

因為a是二維陣列名,即是一維陣列a[0] 、a[1] 、a[2] 的首地址。

a+1就是 a[1]的地址。

*是取指標的值。

那麼*(a+1)就是取 a[1]的值。

它是什麼呢?它又是一個陣列: a[1][0], a[1][1] ,a[1][2]。

而且 a[1]是它們的首地址。

即 a[1]的值就是 a[1][0]的地址。

5樓:野獸fight美女

是錯的,a表示的是啊a[1]的首地址

c語言菜鳥求問下列程式段的輸出是,並說明原因

6樓:匿名使用者

奇數才列印*#,1 3<5且是奇數所以

*#*#

其實這題就算你判斷錯誤那偶數2 4一樣也只有兩個

7樓:匿名使用者

這怎麼回答為什麼呢,就是1~5,非偶數列印*#

~~~~~~

c語言菜鳥問題

8樓:匿名使用者

等於32

c語言中逗號“,”也是一種運算子,稱為逗號運算子。 其功能是把兩個表示式連線起來組成一個表示式, 稱為逗號表示式。

其一般形式為: 表示式1,表示式2 其求值過程是分別求兩個表示式的值,並以表示式2的值作為整個逗號表示式的值。

void main()

a<--2,b<--4,c<--6,x<--0,y<--0

x<--a+b,y<---b+c

本例中,y等於整個逗號表示式的值,也就是表示式2的值,x是第一個表示式的值。對於逗號表示式還要說明兩點:

1.逗號表示式一般形式中的表示式1和表示式2 也可以又是逗號表示式。例如:

表示式1,(表示式2,表示式3) 形成了巢狀情形。因此可以把逗號表示式擴充套件為以下形式: 表示式1,表示式2,…表示式n 整個逗號表示式的值等於表示式n的值。

2.程式中使用逗號表示式,通常是要分別求逗號表示式內各表示式的值,並不一定要求整個逗號表示式的值。

3.並不是在所有出現逗號的地方都組成逗號表示式,如在變數說明中,函式參數列中逗號只是用作各變數之間的間隔符。

9樓:匿名使用者

c語言裡面,逗號表示式的基本形式為

exp1, exp2,..., expn;

求值順序為從左到右依次求值,規定整個逗號表示式的值為最後一個子表示式(就是分號前那個expn)的值。所以你這條語句執行後x的值就是k的值32

10樓:匿名使用者

我放在vc++6.0裡執行得到

32我也是菜鳥,我也不知道是為什麼,看到高手的解答明白了

謝啦~~~

11樓:

x=32,一般等於最後那個逗號的值

12樓:匿名使用者

x=32.因為口號內是逗號,最後的有效;

怎樣能從一個什麼都不懂的菜鳥學會c語言?

13樓:baby凱旋城住戶

不管說什麼,想更快的學習 c語言,具體措施是:

1、看書自學:先看c語言入門的書,比如 c語言小白表怪獸,啊哈c語言,都是傻子都能看懂的書;緊接著,可以看一些進階的書,有很多,基本上這時候所有的書你都能瞭解個大概,根據自己的興趣,找一些書看。

2、找人輔導:如果你想最快又好的學完 c語言,找人輔導幫你是很有必要的,在學習過程中可以做到,有問題隨時解決,這種學習才是有效的,如果沒有老師幫你,要麼是你的學習速度提不上來,要麼就是看書看得囫圇吞棗。

3、理論與實踐相結合:光看書並沒什麼卵用,關鍵是實踐,c語言實踐就是多做題,多做專案,可以試著做一些簡單的專案,資訊管理系統,貪吃蛇,推箱子這些小遊戲。

以上這些,都是齊頭並進,並不是一個做完做另一個,這些都做到,c語言完整的學習,估計最多兩個月就能拿下。

c語言菜鳥,求答案和解釋!解釋是關鍵

14樓:卡農小土豆

(1),c 輸入格式為"%c%c%d字元,字元,數值型,所以輸入的1,2個值均作為字元處理,而最後一個作為數字處理

printf("%c %c %d\n",a,b,c);在scanf中輸入格式,若中間有逗號,輸入時候也要有逗號中間為空格中間輸入時也是空格

printf("%c,%c,%d\n",a,b,c);原因同2

15樓:匿名使用者

cprintf

scanf("%c,%c,%d",&a,&b.&c);

printf("\"%c\"\"%c\"%d\a",a,b,c);

16樓:江凌風贇

問題四,,要修改輸入輸出語句就行啊,還有ab的定義

c語言什麼意思 輸出i j c 求意思 菜鳥

17樓:匿名使用者

hi c 規定,%d 是代表以十進位制形式輸入、輸出。

用 int(即整形) 定義了 i j 兩個整形變數,用 char 定義了一個 c (即字元變數),

然後用scanf()函式分別以%d(十進位制形式) 和 %c (字元形式)進行輸入。分別把從鍵盤輸入的資料存入整形變數 i 、j 以字元形式存入c.

不過你寫錯了,正確的應該是:

int i,j;

char c;

scanf("%d%c%d",&i,&c,&j);

18樓:

你的輸入是什麼?

你只要搞清楚scanf裡面所有的各種格式化修飾符的意思就一目瞭然了!

scanf用於從標準輸入獲取格式化輸入

第一個%d,表示期望輸入一個整數,scanf引數列表的後面有一個對應引數

第二個d,表示你第二個輸入與第一個輸入以字母d分開,否則算非法輸入

第三個%c,表示期望輸入一個字元,scanf引數列表的後面有一個對應引數

第四、五個%*d,本來是%d表示期望輸入一個整數,中間插入了個*,改變了意思:忽略掉該整數輸入,也就是你輸入了整數但是不會賦給對應的變數啦

最後一個%d:表示期望輸入一個整數,scanf引數列表的後面有一個對應引數

最後說明一點,對於任意一個欄位,如果不符合要求就算是非法輸入,結果可能就不是你預期的了。你可以嘗試不同的輸入,看看結果究竟咋樣?

菜鳥求解 c語言中 表示式運算結果 中為啥1+15 1+20是double型別1+2就是int呢?難道是書列印錯了?

19樓:

現在的書,讀起來要用破密碼的精神;你還那麼信任書?肯定是書上錯了……

20樓:聽不清啊

這個沒問題是書上印錯了。如果1+1.5才是double。

21樓:匿名使用者

不對啊,1+15的結果應該是整型的

c語言菜鳥問題:為什麼有人說 雙精度變數的格式符為“le”,也有“lf”。哪個才是正確的??

22樓:威

雙精度變數的格式符用“lf”。

23樓:奧列格南樂

float表示的是單精度型,雙精度型是double定義;數字後面的f是表示單精度實型,雙精度實型用l

c語言中兩種選擇結構分別是什麼

無為 選擇程式結構用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程式的流程。使用選擇結構語句時,要用條件表示式來描述條件 示例 if x 5 then y x 1 if a 1 and b 0 then x 1 當然各種程式對選擇結構語法不一樣。例如 c語言的選擇結構為 if ...

c語言求教。為什麼是這個答案。還有printf 中後面的a,b,z的意思是表示分別以整數輸出

考了x 與 x的不同,比如z x 是先z x再x 若是z x,就是先x 之後z x, z x 意味著先把x的值賦給z,然後x自己加1,等價於 z x x x 1 z x意味著先給x加1,然後再賦值給z,等價於 x x 1 z x 這個教科書裡都有啊,規則還是要清楚 運算子的順序忘記了。自己查下教科書...

western blot為什麼要用兩種膠而電泳DNA或RN

western 通常是sds page,兩種膠是為了加大分離效果 分離的是蛋白 而dna rna是瓊脂糖電泳,通常0.7 1 即可有很好的分離效果,分離的是核酸 因分離目的不同,使用試劑不同而定 你是指積層膠和分離膠吧?因為使用兩層膠可以是條帶更銳利。積層膠又叫濃縮膠,是一老外最先開始做的。由於濃縮...