打印

求教一个C语言编程中的问题

[复制链接]
2337|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xgd_09213|  楼主 | 2010-7-10 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序比较简单,就是定义四个整型变量,选择几种情况,然后输出。
程序如下:
#include<stdio.h>
main()
{
int a,b,c,d;
printf("input four numbers:\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<=0&&b<=0&&c<=0&&d<=0)
printf("zuozhuan:\n");
else if(a<=0&&b>0&&c<=0&&d<=0)
printf("youzhuan:\n");
else if(a<=0&&b<=0&&c>0&&d<=0)
printf("houtui:\n");
else
printf("error:\n");
但是程序运行的结果是不管a b c d 输入是多少,输出都为error。
求教问题出在哪里?

}

相关帖子

沙发
zjswuyunbo| | 2010-7-10 20:51 | 只看该作者
可能是优先级,判断里有小扩号

使用特权

评论回复
板凳
奇兵| | 2010-7-10 21:09 | 只看该作者
不是优先级的问题!

使用特权

评论回复
地板
xgd_09213|  楼主 | 2010-7-10 21:15 | 只看该作者
结贴了。我已经找到答案。是我自己输入的时候忘记了,我定义输入时是用逗号隔开的。

使用特权

评论回复
5
奇兵| | 2010-7-10 21:15 | 只看该作者
楼主程序没什么问题!当a>0或d>0二者中有一个为假时都会出现上述情况!

使用特权

评论回复
6
xgd_09213|  楼主 | 2010-7-10 21:16 | 只看该作者
对,程序没问题。我自己失误了。呵呵·

使用特权

评论回复
7
xgd_09213|  楼主 | 2010-7-10 21:16 | 只看该作者
分数给你了,多谢帮忙。

使用特权

评论回复
8
szshawn2010| | 2010-7-10 21:19 | 只看该作者
请教一下:   (a<=0&&b<=0&&c<=0&&d<=0)
其含义是什么?

使用特权

评论回复
9
奇兵| | 2010-7-10 21:22 | 只看该作者
更改一下a<=0或d<=0其中有一个为假时,IF的条件就为假了就会出现上述条件楼主将ad都设0试一下

使用特权

评论回复
10
szshawn2010| | 2010-7-10 21:26 | 只看该作者
&& 的运算优先级别小于 关系运算符。 (a<=0&&b<=0&&c<=0&&d<=0)
编译器应该是理解为:( (a<=0)&&(b<=0)&&(c<=0)&&(d<=0)  )

若是本意为 判断  a<=? 是不是应该改写为      ( a<= ( 0&&b<=( 0&&c<=(0&&d<=0)  )  )  )

使用特权

评论回复
11
奇兵| | 2010-7-10 21:40 | 只看该作者
不是的!a后面的()表达式结果或为1或为0

使用特权

评论回复
12
SUNXUEFENG| | 2010-7-11 10:32 | 只看该作者
看一下

使用特权

评论回复
13
sydyh43| | 2010-7-12 07:49 | 只看该作者
仔细

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

19

帖子

1

粉丝