如果你是在WQX用LAVA版的编译器编LAVA<br>那就方便多了<br>先来试试这段代码<br>#define p printf<br>#define cls SetScreen<br>#define inkey getchar()<br>void main()<br>{<br>int a;a=3;<br>p("%d",a));inkey;<br>cls(0);<br>}<br>可能你会问<br>LAVA中没有p和cls语句<br>为什么可以起到printf和SetScreen的作用?<br><br>别急~再看看void main()前面有一段<br>#define p printf<br>#define cls SetScreen<br>#define inkey getchar()<br><br>#define是一个预处理命令<br>这样的宏定义就是是用一个宏名代替一个字符串<br>也就是简单的置换 不作正确性检查<br>有了这个命令我们就可以把复杂的LAVA语句换成自己希望的语句了 还可以简化了大小写带来的麻烦<br>不过可惜 目前我知道的只有星星上的编译器才支持<br>电脑上的开发环境好像只能用一个宏名代替一个数字<br><br>所以电脑上只能这样:<br>void p(int a,int b)<br>{printf(a,b);}<br>void cls(int a)<br>{SetScreen(a);}<br>void inkey()<br>{getchar();}<br>void main()<br>{<br>int a;a=58;<br>p("%c",a);<br>inkey();<br>cls(0);<br>}<br>虽然复杂了点<br>但是可以把值代入调用的函数里<br>而且函数被调用完毕后<br>占用的内存就会被释放(节约能源人人有责~~)<br>所以我在主程序中定义了A变量在被调用函数中也可以再定义<br>应为他们虽然名字一样 但是被分配的地址不同<br>还有 每次调用的时候函数名后面那个()千万不能丢~<br><br>TIPS:习惯玩BASIC的人可以用这个方法来把LAVA的语句全部变成BASIC的语句O~<br><br>呼~~写的累死了<br>(都是那个EPC 叫我多发点帖子 害我又多了一个不眠夜~~~ 慢慢长夜怎么没人上QQ啊……)
[此贴子已经被作者于2005-9-11 11:44:44编辑过]
|