| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 801 人关注过本帖, 1 人收藏
标题:这个程序为什么是个死循环
只看楼主 加入收藏
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
结帖率:100%
收藏(1)
 问题点数:0 回复次数:6 
这个程序为什么是个死循环
//当我输入英文字母,为什么是个死循环。
#include<stdio.h>
#include<stdlib.h>
#define week 7
int main()
{
    int days;
    printf("Enter days,it will change for weed ,days\n");
    scanf("%d",&days);//这里应该将英文字母转换为有符号十进制数了
    while(days>0)
    {
                 printf("%d are %d weeks,%d days\n",days,days/week,days%week);
                 printf("enter next\n");
                 scanf("%d",&days);
    }
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: next 英文字母 include change 
2008-01-18 19:54
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:0 
因为scanf("%d",...)不能处理字母。
所以出什么毛病都是正常的,不出毛病才是不正常的。

每个函数都有自己的局限,了解局限性正确使用也是学习的一部分。
2008-01-18 20:33
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
不对啊,要是%s,他就能处理啊

用C打破禁锢的世界
2008-01-18 20:37
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:0 
是啊,我也没说%s不能处理字母啊。
%s的局限在于不能处理空格。
2008-01-18 20:45
lld
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-1-12
收藏
得分:0 
呵呵 这是字符..
2008-01-18 21:03
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
收藏
得分:0 
哦,知道了。谢谢

用C打破禁锢的世界
2008-01-18 21:08
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
scanf("%d", &days);   无法把非数字字符转换为有符号整数

—>〉Sun〈<—
2008-01-19 00:04
快速回复:这个程序为什么是个死循环
数据加载中...
 
   



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

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