搜索
查看: 2444|回复: 12
打印 上一主题 下一主题

这个编译出来怎么不对,负数就不行

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-28 10:15:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
啊哈c上的题目:从键盘输入一个正整数,让计算机判断这个数是否为一个“一位数”
(1~9 之间)。如果是则输出yes,不是输出no。

#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a) ;
if   (a>=1,a<=9) printf("yes");
else printf("no");
sleep(5000);
return 0;
}

最佳答案

查看完整内容

那是因为你申明的类型的原故:把int a;改成unsigned a;问题解决,分析:int 是整形类型,又有正整形,和负整形,关于详细解释见初中数学课本,解决你产生的疑问用无符号类型能帮你搞定。unsigned
来自 2#
发表于 2012-9-19 20:53:03 | 只看该作者
#include <stdio.h>

int main()
{
        int i;
    scanf("%d",&i);
    if(i>0&&i<10)                printf("yes");
    else                        printf("no");;
    sleep(5000);
    return 0;
}
板凳
发表于 2012-8-28 10:15:37 来自手机 | 只看该作者
本帖最后由 月光疾风 于 2012-8-28 11:21 编辑


那是因为你申明的类型的原故:把int a;改成unsigned a;问题解决,分析:int 是整形类型,又有正整形,和负整形,关于详细解释见初中数学课本,解决你产生的疑问用无符号类型能帮你搞定。unsigned

评分

参与人数 1啊哈币 +5 收起 理由
lzl + 5 赞一个!

查看全部评分

地板
 楼主| 发表于 2012-8-28 11:38:27 来自手机 | 只看该作者
thank  you  ^_^
5#
发表于 2012-8-28 14:09:43 来自手机 | 只看该作者
Elicity 发表于 2012-8-28 11:38 thank you ^_^

亲,那把悬赏结了吧
6#
 楼主| 发表于 2012-8-28 20:38:16 来自手机 | 只看该作者
月光疾风 发表于 2012-8-28 14:09  亲,那把悬赏结了吧

手机发的贴,等用电脑的时候给。
7#
发表于 2012-8-28 20:46:47 | 只看该作者
Elicity 发表于 2012-8-28 20:38
手机发的贴,等用电脑的时候给。

偶也是用手机回的帖子
8#
发表于 2012-8-30 21:41:34 | 只看该作者
if   (a>=1&&a<=9) printf("yes");
应该这样
9#
发表于 2012-9-1 16:29:52 | 只看该作者
i love you
10#
发表于 2012-9-10 19:04:35 | 只看该作者
月光疾风 发表于 2012-8-28 10:15
那是因为你申明的类型的原故:把int a;改成unsigned a;问题解决,分析:int 是整形类型,又有正整形,和负 ...

#include <stdio.h>
int main()
{
        int a;
    scanf("%d",&a);
    if(10>a>0)             printf("yes");
   
    else        printf("no");
        sleep(5000 );
        return 0;
}
这也可以的
11#
发表于 2012-9-19 18:41:45 | 只看该作者
12#
发表于 2012-12-5 20:14:23 | 只看该作者
韩金选 发表于 2012-9-1 16:29
i love you

别,哇哇
13#
发表于 2013-8-18 19:13:52 | 只看该作者
乱战 发表于 2012-9-10 19:04
#include
int main()
{

(10<a<0)_______这个关系表达式只是碰巧了,
如要判断2~9,用(10<a<1)就不成立了,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表