| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1118 人关注过本帖
标题:请教一个简单的C语言问题
只看楼主 加入收藏
凌云木
Rank: 1
来 自:广东
等 级:新手上路
帖 子:25
专家分:3
注 册:2011-7-23
收藏
得分:0 
以下是引用天雨流芳113在2011-7-23 21:45:51的发言:

#include <stdio.h>
void main ()
{
    char c1;
    c1=getchar();
    if (c1>='A'&&c1<='Z')
    {c1=c1+32;
    printf("%c",c2);}
   
}

这个把c2改成c1就可以了。谢谢。不过为什么我那样写就不行呢?

将疯狂进行到底!
2011-07-23 21:59
凌云木
Rank: 1
来 自:广东
等 级:新手上路
帖 子:25
专家分:3
注 册:2011-7-23
收藏
得分:0 
以下是引用pcbaichi在2011-7-23 21:30:52的发言:

贴源码是不对的
#include<stdio.h>
int main()
{
    char c;
    c=getchar();
    printf("%c\n",(c>='A'&&c<='Z')?c+32:c);
    return 0;
}

这样应该是最简洁的了。谢谢。能不能告诉我写的 那个哪里错了?

将疯狂进行到底!
2011-07-23 22:02
凌云木
Rank: 1
来 自:广东
等 级:新手上路
帖 子:25
专家分:3
注 册:2011-7-23
收藏
得分:0 
以下是引用lz1091914999在2011-7-23 21:43:46的发言:

#include <stdio.h>

int main(void) {
    putchar(getchar() | 0x20);
    return 0;
}

这个看不明白。 请问0x20是什么来的?

将疯狂进行到底!
2011-07-23 22:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
小写字母的ASCII二进制的第6位为1,大写字母的ASCII二进制的第6位为0,这样就可以通过把第6位置1的方法来达到LZ要的效果。。。

My life is brilliant
2011-07-23 22:15
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
回复 12楼 凌云木
打破砂锅问到底,‘c1’>='a','c1'和'a'有什么关系

免费赠送河蟹一只
2011-07-23 22:36
lxh3319
Rank: 2
等 级:论坛游民
帖 子:29
专家分:11
注 册:2011-6-20
收藏
得分:4 
#include <stdio.h>
void main ()
{
    char c1,c2;
    c1=getchar();
    if (c1>='A'&&c1<='Z')
    {c2=c1+32;
    printf("%c",c2);}
    else
         printf("%c",c1);
   
}
是这样吧  c1两端不要叫‘’,c1本身就是字符了吧
2011-07-23 22:54
zjslwyp
Rank: 2
等 级:论坛游民
帖 子:42
专家分:76
注 册:2011-3-24
收藏
得分:4 
你写的   if ('c1'>='A'&&'c1'<='Z')把字符c1与A和Z比较,而不是c1里的储存的字符与A和Z比较。只要if (c1>='A'&&c1<='Z')
就可以了,你就错在这边。
2011-07-23 23:43
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:0 
学习了
2011-07-23 23:55
smallkid190
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:134
专家分:969
注 册:2011-4-23
收藏
得分:2 
if ('c1'>='A'&&'c1'<='Z')
 把'c1'的单引号''去掉就可以了...

不懂就是不懂...
2011-07-24 01:45
mxshy
Rank: 1
等 级:新手上路
帖 子:5
专家分:6
注 册:2011-7-24
收藏
得分:1 
if (c1>='A'&&c1<='Z')没有什么大错,就是你在写这时,多加了‘’;你自己试一下
2011-07-24 07:44
快速回复:请教一个简单的C语言问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018001 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved