当前位置: 代码迷 >> C语言 >> [求助]从键盘输入一串字符,以Esc作为结束符,用条件编译方法实现以下功能: ...
  详细解决方案

[求助]从键盘输入一串字符,以Esc作为结束符,用条件编译方法实现以下功能: ...

热度:132   发布时间:2007-08-28 19:18:02.0
哦,可能因为这,我下的是dev-c++
这次回去一定给自己补课……
哎自己没认真学啊,我正式接触计算机知识一个学期了
新学期到了,一定努力
----------------解决方案--------------------------------------------------------

但#if CHANGE ==0这能有真的时候么
这与前面的

#define CHANGE 1
有关,
当#define CHANGE 0
不就是为真了么?

想想为什么要用预处理指令?有什么用?


----------------解决方案--------------------------------------------------------

哦,学习了,我谈谈我的想法
在c语言中没有TRUE 和FALSE
我记得用过enum来定义过
在这里是用#define来定义真假的
#define CHANGE 0这条语句计算机是怎么判断的呢?
谢谢


----------------解决方案--------------------------------------------------------

#include "stdio.h"
#define CHANGE 1

#define Esc 0x1b

main()
{
char s[50];
int i=-1;

do
{
s[++i]=getch();
}while(s[i]!=Esc&&i<50);

s[i]='\0';
#if CHANGE ==1
printf("%s",strupr(s));
#endif
#if CHANGE ==0
printf("%s",s);
#endif

}

//红色部分只在编译时有效,用这个程式举个例子,假如,这个程式既要在win下运行,又想它在dos运行,但我又想这个printf("%s",s);部分在不同系统时输出不同结果,那么,同样这程式,我只需更改一下#define CHANGE 1,一个字母就行了.
如果需要同的处理很多,就体现了 预处理指令 真正意义了.


----------------解决方案--------------------------------------------------------
宝贵的时刻啊,我学习了
谢谢
----------------解决方案--------------------------------------------------------
吓,来晚了~~~~~~~
----------------解决方案--------------------------------------------------------
回复:(Knocker)#include
我一直是这样考虑这个程序的,我是说由计算机判断
如果是小写的就由计算机自己把小写变为大写
然后输出
如果我大写,不需要处理,直接输出
不好意思,我没理解题目,误解了意思
非常感谢你的指导啊
----------------解决方案--------------------------------------------------------
我不太清楚楼主的意思,以后有问题就要认真的打字,别打错别字这样叫人难以理解.
什么叫条件编译
----------------解决方案--------------------------------------------------------

回复(10楼) 我用的就是TC


----------------解决方案--------------------------------------------------------

我先试试,谢谢大家了!!!


----------------解决方案--------------------------------------------------------