編程小白C語言帶參數的宏定義

說明

在宏定義中,字符串內的形參通常要用括號括起來避免出錯

例題演示

分析一下代碼輸出結果:

#include<stdio.h>
#define M(y) y*y
int main()
{
	int a,b;
	printf("請輸入a的值:");
	scanf("%d",&a); 
	b=M(a+1);
	printf("b=%d",b); 
	return 0;
 } 

思路分析

如果a=1,那麼b的值等於多少呢? b=4?不對!!!

b=3,爲什麼呢?

分析一波,b=4的條件是(a+1)*(a+1) ,其中a等於1,        a+1--->y   這麼理解沒錯吧,但是 這個y是沒有括號的!!

仔細看 仔細看 仔細看!

所以 應該是  b =  a+1 * a + 1   當a=1時,b=3 

給y加上括號的話

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章