| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1756 人关注过本帖
标题:新手求助
只看楼主 加入收藏
掰掰哥哥
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-7-14
收藏
 问题点数:0 回复次数:11 
新手求助
#include <stdio.h>
int main(int argc, const char * argv[]) {
    char a;
    a=getchar();
    if(a>10)
    {
    printf("good");}
    else
    if(a<=10)
    {
    printf("bad");
    }
    return 0;
}
为什么给a什么值都是good 小白求助
搜索更多相关主题的帖子: int char getchar printf return 
2018-07-14 17:45
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include <stdio.h>
int main(int argc, const char * argv[]) {
    char a;
    a=getchar();
    printf("a=%d",a);
    if(a>10)
    {
    printf("good");}
    else
    if(a<=10)
    {
    printf("bad");
    }
    return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2018-07-14 17:51
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
因为:
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码。
也就是说,字母和数字属于可显示ASCII码。可显示ASCII码都是大于10的。所以
if(a>10)
    {
    printf("good");}
2018-07-14 18:03
掰掰哥哥
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-7-14
收藏
得分:0 
回复 3楼 自学的数学
谢谢 那我想输入数值1怎么办
2018-07-14 18:28
kfyniriu
Rank: 6Rank: 6
等 级:侠之大者
威 望:9
帖 子:105
专家分:426
注 册:2018-7-6
收藏
得分:0 
char a;
a=getchar();
获取的是键盘上的字符,键盘上的字符转化为int型返回值,是通过ASCII表来转换的,具体数值可以查看ASCII表。

如果只想输入数字,则将

 char a;
    a=getchar();

修改为:

int a;
scanf("%d",&a);
2018-07-14 20:05
a15129252021
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-3-16
收藏
得分:0 
2018-07-15 11:21
MeandC
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:8
帖 子:245
专家分:792
注 册:2018-7-14
收藏
得分:0 
因为大小写字母和数字和单个字符的符号它的ASCII值都是大于十的

C果然是有点难啊!
2018-07-15 11:25
MeandC
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:8
帖 子:245
专家分:792
注 册:2018-7-14
收藏
得分:0 
ASCII值从小到大分别是:
0-31:NUL SQH STX EXT EDT ENQ ACK BEL BS HT LF VT FF CR SO ST DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
32-63:SP ! " # $ % & ‘ ( ) * + '- . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
64-最后:@ A B C D E F 等等大小写字母和[]\^_{}|~ DEL 这些符号
字母是从65开始的;
你可以看一下ASCII小于十的,上面哪个小于十的你是输入到程序了?

C果然是有点难啊!
2018-07-15 11:40
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
小于10的好像都是控制字符吧
2018-07-15 11:43
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
小于10的就是控制字符。
2018-07-15 12:58
快速回复:新手求助
数据加载中...
 
   



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

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