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 1.for先執行第一個賦值語句,因為第一個賦值語句為空,不理,之後就判斷 10 5,進入迴圈i 再執行第三個賦值語句 b 6,之後再開始判斷,再i 再 b如此迴圈 當10 10時跳出迴圈,此時i 5 2.while 1 x 2 這個是死迴圈這樣的表示式為邏輯判斷,一步步的做出返回 先 1 x 返回0... 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... 上面的 中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p 0 的話,可以p 回去 或者在p改變之前,用tmp p儲存起始位置。struct stu tmp p p p tmp p 此外,我猜,這個程式中的s是為了儲存平均值?struct stu int main int i,l...兩道c語言題目,兩道C語言題目
c語言題目求解答,一道c語言題目,求解答!!!!!!!
一道c語言程式題目,求解答,一道C語言程式題目,求解答