一个简单的c语言问题,请各位解答,谢谢!
是一个把输入的字符转换成小写的小程序
#include <stdio.h>
#include <ctype.h> /* for tolower() function */
int main(void) /* convert input to lower case */
{
int c;
while ( (c = getchar()) != EOF )
putchar(tolower(c));
return 0;
}
这样就可以正确的完成本程序的功能
int main(void)
{
while ( putchar( tolower( getchar() != EOF ) ) )
;
return 0;
}
为什么这样写就不可以呢?
刚刚学,很多都不明白,请大家帮帮忙,谢谢
[解决办法]
putchar返回值是什么意思你知道不?
[解决办法]
字符输出函数putchar向终端设备输出一个字符。默认的终端设备是屏幕。
[解决办法]
On error, putchar returns EOF.
[解决办法]
tolower( getchar() != EOF ) 你tolower获得的参数是表达式getchar() != EOF 的值,就是1或则0啊!当然得不到你想要的结果了!
[解决办法]
按 "管理 "
[解决办法]
scanf中用lf
[解决办法]
getchar() != EOF 是个bool型的值
tolower()期待输入的好象是字符型。