C++ #define问题 急啊。。

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:16:03
我在韩国上学,用韩语学C++实在是听不懂啊,老师留作业,让用两种方法输出乘法口诀,很简单,先输入1-9的数字,比如说输入3,回车后输出
3*1=3
3*2=6


3*9=27
就可以了,使用for来做我已经搞定了,但他要求第二个必须使用#define函数,#define 我根本就没听明白,完全没头绪啊,不知哪位可以帮我出一个程序,应该很简单的,只是我不懂,麻烦各位了,可能的话,顺便给我说说define函数在这个式子里的意义以及其他主要的用法,谢谢了,我这周四就要交作业了,拜托救命啊

#include<iostream>
using namespace std;
#define fun(a) {for(int i=1;i<10;i++) cout<<a<<"*"<<i<<"="<<(a*i)<<endl;}
int main()
{
int a;
cout<<" input a:"<<endl;
cin>>a;
fun(a);
return 0;
}

我学得就应该是个简单的字符替换吧, #define不是函数,是预编译命令,只作替换,如下例就是在程序源代码中把所有的N用10替换,
#include<stdio.h>
#define N 10
int main (void)
{
int m;
int i;
scanf ("%d", &m);
if (m > 9 || m < 1)
{
printf ("Input error, please input again.");
scanf ("%d", &m);
}
for (i = 1; i < N; i++)
{
printf ("\n%d * %d = %d", m, i, m * i);
}
return 0;
}

#define MUTIPLY(x) \
do \
{ \
for( int i = 1; i <= 9; i++ ) \
{ \
printf("%d*%d=%d\n", (x), i, (x) * i ); &#