兩道c語言題目求解

2021-05-02 22:17:48 字數 1501 閱讀 7921

1樓:

第一題可能是題目印錯了,如果的確是你所寫的那樣;答案是16,6#define f(x)(x*x)

main()

這樣答案就是c,

第二道題,題目可以這樣看

main()

cnum[2];

cnum[0].x=2;

cnum[0].y=4;

cnum[1].x=3;

cnum[1].y=1;

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].y);

}第三題 c1='1'對應的是字元1,對應的十進位制為49;

如果c1=49,則等同於c1='1'字元;

而c1=1對應的是ascii第二個字元,也就是這個「☺」

2樓:匿名使用者

第一題:i1=(8*8)/(4)=16 i2=(4+4*4+4)/(2+2)=6

我看原題的意思應該是

#define f(x)(x*x)

main()

結果才會選c

實踐就是最好的證明,我執行過了。結果就是16,6第二題不能執行,亂七八糟的錯誤一大堆。

第三題:include前面要加 # .

至於你問的問題??

你是不是想說char型別變數賦值如果是數字就不能用『』括起來(記住,字串的話用雙引號,單個字元都是用單引號的)?ascll碼裡面有0-9這幾個數字,他們可以是字元,也可以是數值。原題有加單引號,是字元。

3樓:匿名使用者

第一道:#define f(x)(x*x)這個巨集替換將i1=f(8)/(4)替換為:i1=(8*8)/(4*4);i2=f(4+4)/(2+2)=4;替換成:

i2=(4+4*4+4)/(2+2*2+2)=3;其實,巨集替換就好比複製,它只是機械性負責複製,而不會識別運算子的優先順序之類,所以用的時候要特別小心

第二道問題是問題,cnum[2]=結構不明,不知道是你抄錯還是什麼原因;

第三,在c語言中,是把雙引號中的資料看成字元的,而不資料,就比如"1",這樣的表示說明它只是一個字元,而不是表示大小的資料。。。

4樓:匿名使用者

1.i1=f(8)/(4);

經過巨集替換後就成了:

i1=(8*8)/(4);

所以i1=16

i2=f(4+4)/(2+2);

經過巨集替換後就成了:

i2=(4+4*4+4)/(2+2);

所以,i2=6

所以i2

2.struct cmplx cnum[2]=這個式子定義了一個struct cmplx型別的結構體陣列cnum,它有兩個該結構體型別的元素,cnum[0]和cnum[1],cnum[0]有兩個成員變數,分別是cnum[0].x和cnum[0].

y,而且在定義時分別被初始化為2和4,cnum[1]也有x和y兩個成員變數並且在定義時被初始化為3和1

3.後面的'1'和'2'都是字元,不是整數1和2

兩道c語言題目,兩道C語言題目

1.for先執行第一個賦值語句,因為第一個賦值語句為空,不理,之後就判斷 10 5,進入迴圈i 再執行第三個賦值語句 b 6,之後再開始判斷,再i 再 b如此迴圈 當10 10時跳出迴圈,此時i 5 2.while 1 x 2 這個是死迴圈這樣的表示式為邏輯判斷,一步步的做出返回 先 1 x 返回0...

c語言題目求解答,一道c語言題目,求解答!!!!!!!

include stdio.h void dfs int k int main int argc,char argv dfs n printf n return 0 執行樣例 一道c語言題目,求解答!scanf 函式中沒有精度控制。如 scanf 5.2f a 是非法的。不能企圖用此語句輸入小數為2...

一道c語言程式題目,求解答,一道C語言程式題目,求解答

上面的 中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p 0 的話,可以p 回去 或者在p改變之前,用tmp p儲存起始位置。struct stu tmp p p p tmp p 此外,我猜,這個程式中的s是為了儲存平均值?struct stu int main int i,l...