当前位置: 代码迷 >> C语言 >> 求助宏定义的问题
  详细解决方案

求助宏定义的问题

热度:203   发布时间:2008-05-25 13:42:49.0
求助宏定义的问题
题目是这样的:设计一个名为star的带参数的宏,参数指出星号的个数。提示:宏的作用只是替换内容,无论数值、语句,甚至多条语句都一样。 ●想了半天都没把这题思路出来,谁能帮我给出思路。谢谢!
搜索更多相关的解决方案: 定义  语句  参数  思路  

----------------解决方案--------------------------------------------------------
#define star(n) for(i=0;i<n;i++){putchar('*');}
设计弊端:star(n)只能以单独语句出现。
----------------解决方案--------------------------------------------------------
#define star(n)   int i;for(i=0;i<n;i++){putchar('*');}
----------------解决方案--------------------------------------------------------
#define star(n)\
int i;\
for(i = 0; i < n; i++)\
{\
    putchar('*');\
}
----------------解决方案--------------------------------------------------------
试试看
用C++的话不妨这么弄:

#define star(n) (cout.fill('*'),cout.width(n),cout<<'*')

然后你可以类似下面这么用:

  star(10)<<endl;
----------------解决方案--------------------------------------------------------
谢谢楼上的,getch()用scanf()代替应该也可以吧!
----------------解决方案--------------------------------------------------------
getch() 不是标准函数。好象是早期 Borland 和 Mcrosoft 才支持的函数。记得好象是直接处理键盘缓冲的。这个函数好象没有同样功能的标准函数。
----------------解决方案--------------------------------------------------------
  相关解决方案