标题:照着书上打出的代码为什么编译通过后,输入字符串后按回车没有反应? 求解 ...
只看楼主
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
结帖率:87.88%
已结贴  问题点数:20 回复次数:2 
照着书上打出的代码为什么编译通过后,输入字符串后按回车没有反应? 求解
#include<stdio.h>
void str_dcount(const char s[],int cnt[]){
    int i=0;
    while(s[i]){
        if(s[i]>='0'&&s[i]<='9'){
            cnt[s[i]-'0'] ++;
            i++;
        }
    }
}
int main(int argc,char const*argv[]){
    int i;
    int dcnt[10]={0};
    char str[128];
    printf("请输入字符串:");
    scanf("%s",str);
    str_dcount(str,dcnt);
    puts("数字字符的出现次数");
    for(i=0;i<10;i++){
        printf("'%d':%d\n",i,dcnt[i]);
        return 0;
    }
}
 //列如输入 3.1415926535897932846  
//然后我按回车就没有反应了  
/*然后书上编译出的结果为
3.1415926535897932846
数字字符的出现次数
'1':2
'2':2
'3':3
'4':2
'5':3
'6':2
'7':1
'8':2
'9':3
*/
搜索更多相关主题的帖子: 编译 输入 字符串 回车 int 
2018-12-10 21:59
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:20 
#include<stdio.h>
void str_dcount(const char s[],int cnt[])
{
    int i=0;
    while(s[i])
    {
        if(s[i]>='0'&&s[i]<='9')
            cnt[s[i]-'0'] ++;
            
       i++; //放到括号外边。不管s[i]是不是数字,i都要自增,以判断下一个字符。
    }
}
int main()
{
    int i;
    int dcnt[10]={0};
    char str[128];
   
    printf("请输入字符串:");
    scanf("%s",str);
   
    str_dcount(str,dcnt);
    puts("数字字符的出现次数");
    for(i=0;i<10;i++)
        printf("'%d':%d\n",i,dcnt[i]);
     return 0;   //放到括号外边。全部打印完才输出
}
2018-12-10 22:19
风流泰
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2018-9-29
得分:0 
回复 2楼 花脸
谢谢你的解答
2018-12-10 22:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491946-1-1.html




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

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