1樓:金色潛鳥
#define sq(x) 這裡不要漏了空格 ((x)*(x))sq(x) 是計算 x 的平方。
----------
求兩個數的最大值,巨集是 mm(a,b) 那一行。注意空格符號不要漏了。
#include"stdio.h"
#define mm(a,b) a>b?a:bvoid main( )
這c語言題目看不懂,求解釋
2樓:匿名使用者
#include "stdio.h"
#define sqr(x) (x)*(x)///巨集替換,把內sqr(x)替換為
容x*x
void main(void)
3樓:匿名使用者
這個程式是計算z的值,上面這段程式就是說z的計算方式!
4樓:匿名使用者
你應該是剛學c吧;
add是個求和函式,在主函式main中條用add,將結果返回給z,最後輸出z。
第十二十三題,c語言求解析
5樓:
12、陣列下表是從0開始的 長度為10的話是從a[0]到a[9]
13、sum 應該等於12吧 #define是巨集定義 相當於代替了一部分** 不會對運算的優先順序產生影響 add(m+n)相當於add(3)帶入後是3+3*k 運算順序是先乘法 在加法 最後等於12望採納
6樓:匿名使用者
12、下標上限?陣列a一共10個元素,從0開始,0,是第一個,你數10個,看看第10個是幾號
13、巨集替換,替換格式是add(x)替換成x+x的格式。注意,被替換的部分沒有括號
那麼,aaa(m+n)*k就會被替換成m+n+m+n*k(沒有括號哦),也就是1+2+1+2*3,結果是10,所以sum的值是10,最終輸出sum=10
解釋下c語言巨集定義的一道題
7樓:匿名使用者
這裡主要是兩個語法。 一是在define語句裡, #x 的意思是,替換為一個以x為內容的字元專串。 比如 如果
屬你呼叫 print(10) 那麼#x 就等於是寫 "10" 這樣的。
第二個語法是, 在c語言裡, 連續寫兩個字串(不需要任何操作符連結)就等於把它們連線起來。 比如 "the no." "is" 就跟寫 "the no.
is" 是一回事。 (這個語法大概很多人不知道。。其實是很基本的語法,只不過一般用不上所以不起眼)
有這兩點這個很容易理解 比如 print(10)在這裡會被成: printf("the no." "10" ",is") 也就等價於:
printf("the no.10,is")
c語言 巨集題目
8樓:
巨集函式最好別用,第一個double(x) (2*x)
當d = double(1+2)時實際是(2*1+2)看出問題來了吧可以給x加個括號,改為double(x) (2*(x))
第二個巨集我也沒看出什麼問題,加括號是對的。如果應要說問題,就是當a是個帶有++或——的表示式會出現錯誤
abs(a) ((a)>0? -(a):(a)) 假設a為x++,x=-1,你想要的結果是得到-1但是結果會得到0.
第3個巨集同樣的問題,給所有的引數加括號,不然引數是個表示式時就出問題了
9樓:匿名使用者
1.#define double(x) (2*x)int d,c;
d = double(1+2); //d=(2*1+2)=4c = 4/double(2); //c=4/(2*2)= 1缺點是 #define double(x) (2*x)若改為#define double(x) ((2)*(x))就更好了;
10樓:匿名使用者
d=6 c=4
後3個a的()去掉
不知道,用的時候才能知道.
c語言的巨集,講一下什麼是巨集,怎麼實現?
c語言關於巨集定義的習題
11樓:
fudgf(5)*x 等價於 2.84+y*x, 此時y = 5, x = 2; 故結果為 2.84 + 5*2 = 12.
84 轉為整型即為12,你理解錯了,如果將#define fudgf(y) 2.84+y 定義成#define fudgf(y) (2.84+y) 這樣算出來的結果即為15
12樓:戶令霜
#define fudgf(y) 2.84+y這裡改成 #define fudgf(y) (2.84+y)就行了
因為巨集定義只是字元之間的轉換,所以按照你的寫法就變成了 2.84+y*x
我的教程重點強調了這方面的內容
13樓:匿名使用者
注意fudgf(5)*x在執行的時候是2.84+5*x=2.84+5*2=12.84;
所以最後結果為12
注意巨集的時候只是講語句中的巨集名後面的括號內的實參字串代替#define命令列中的形參 ,不要自己亂加括號
14樓:草柏渡
巨集定義就是純粹的替換。所以直接帶就可以了,有括號的加括號,沒括號的就不加,最後再做計算。
首先從main函式入手
printi(fudgf(5)*x)替換
printi(2.84+5*2)
printi(12.84)
再繼續換等等
15樓:商靜雲敬煦
巨集定義又稱為巨集替換,c語言中的巨集定義只是簡單的字串替換而已。
比如define
n1000
在程式中遇到n就自動把n替換成1000,n不是一個變數,不能賦值。
如果你寫n=1;
相當於寫1000=1;
這編譯是通不過的,所以你使n的值改變是做不到的。
n只是一個要被替換的記號而已,連變數也不是。
c語言巨集,這題怎麼得17?
16樓:匿名使用者
預處理後,程式變成下面的樣子:
/*這一行是stdio.h中的內容*/
main()
注意巨集裡面沒有括號。於是,程式會列印出"3+2*3+2*3+2"的值,也就是"3+(2*3)+(2*3)+2",當然是17了。
c語言程式設計完全看不懂題目,c語言程式設計題,我怎麼看不懂題目呀,那個a3可以這麼定義嗎?
include bool isleapyear int year int main return 0 c語言程式設計題,我怎麼看不懂題目呀,那個a 3 可以這麼定義嗎?c語言結構體的語法 struct 結構體標籤 可選的,也就是可以沒有 變數列表 可選的 比如 struct student stud...
C語言的ACM題,但是英文看不懂題目要叫我幹啥呢
你自己下個有道詞典吧,很好用的,一下就可以以出來了,下面是有道的翻譯,可能有點生硬 描述一點點就已經瞭解了一個新朋友,小b,最近。有一天,他們意識到他們是家庭500年前。現在,少了想知道小b是他的長輩,年輕或兄弟。輸入有多個測試用例。為每個測試用例,第一行有一個整數 氮 n 1000 接下來有兩個整...
C語言題,好難看不懂
輸出結果,答案選擇c abc 因為是條件輸出即if str i 0 str i 9 也就是不在 0,9 之間才輸出,所以數字不輸出,只輸出字母 列印非數字字元,選擇c 開始接觸資料結構 c語言版 了,感覺很難學。學起來非常吃力啊。剛開始很多抽象名詞都看不懂 這個真的是得多練,其實資料結構裡面有很多的...