| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1529 人关注过本帖
标题:为什么我这个输出是一堆无关紧要的数字啊
只看楼主 加入收藏
joymessi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
为什么我这个输出是一堆无关紧要的数字啊
这是问题 :输入一行字母数字混合的字符,以‘#’号键结束。去除掉是
字母的字符(大小写均去除),将剩余的数字组成一个整数输出。
我感觉我的代码没错啊

#include <stdio.h>
#include <conio.h>
int main(void)
{
    char ch;
    int m=0,t=0;
    printf("input the charactor:");
    while((ch=getchar())!='\n')
    {
        if(ch >='0' && ch<='9')
        {
            t=ch;
        }
        else
        {
            t=0;
        }
        m=m*10+t;
    }
        printf("%ld\n",m);
   
    getch();
    return 0;
}
搜索更多相关主题的帖子: printf 字符 输出 int 数字 
2020-04-14 16:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
t=ch;
应该是
 t=ch–'0';
2020-04-14 16:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
你的算法也不对,当字母时不需要舔0
2020-04-14 16:24
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:566
专家分:3690
注 册:2019-7-29
收藏
得分:10 
t=ch-'0';

一个是数字,一个是数字的ASCLL码值,需要转换下

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-04-14 16:24
joymessi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-4-14
收藏
得分:0 
回复 3楼 rjsp
  可以说的详细一点吗 我没太看懂你的意思
2020-04-14 16:30
joymessi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-4-14
收藏
得分:0 
回复 4楼 纯蓝之刃
谢谢 好像是的
2020-04-14 16:32
joymessi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-4-14
收藏
得分:0 
回复 2楼 rjsp
对的  谢谢了
2020-04-14 16:32
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
转换成int的操作是多余的
if(是数字)
putchar
完事

https://zh.
2020-04-14 16:49
快速回复:为什么我这个输出是一堆无关紧要的数字啊
数据加载中...
 
   



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

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