| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 817 人关注过本帖
标题:if 语句的问题
只看楼主 加入收藏
sdywcd
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-28
收藏
 问题点数:0 回复次数:16 
if 语句的问题
#include<stdio.h>
main()
{ int x=1;
if(x=2)
printf("OK");
else if(x<2)
printf("%d\n",x);
else printf("quite");
}
为什么输出的结果是ok,而不是quite?
if语句还有什么要注意的地方吗?请大家指教下!
搜索更多相关主题的帖子: 语句 
2007-01-01 12:42
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 
#include<stdio.h>
main()
{ int x=1;
if(x==2)
printf("OK");
else if(x<2)
printf("%d\n",x);
else printf("quite");
}
注意一下关系运算符........

哎 时间....................
2007-01-01 12:48
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
收藏
得分:0 
x==2就对了。

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2007-01-01 12:48
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
收藏
得分:0 
以下是引用sdywcd在2007-1-1 12:42:23的发言:
#include<stdio.h>
main()
{ int x=1;
if(x=2) //if语句后是常量表达式,改为if(x==2)
printf("OK");
else if(x<2)
printf("%d\n",x);
else printf("quite"); //注意格式!
}
为什么输出的结果是ok,而不是quite?
if语句还有什么要注意的地方吗?请大家指教下!


在不断的拼搏与进取中,定能创造一片天地!
2007-01-01 12:48
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
x=2为赋值语句

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-01 18:12
雨帆
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:250
专家分:0
注 册:2006-12-15
收藏
得分:0 
以下是引用sdywcd在2007-1-1 12:42:23的发言:
#include<stdio.h>
main()
{
int x=1;
if(x==2)
printf("OK");
else if(x<2)
printf("%d\n",x);
else
printf("quite");
}
为什么输出的结果是ok,而不是quite?
if语句还有什么要注意的地方吗?请大家指教下!

楼上的意思是输出“quite”,可是按你的的条件的意思只有x>2才可以输出。而你开始将x赋值为1,当x<2时,(x 为1,当然小于2了),就输出结果1了。


[GLOW=255,red,2] 不信命,只凭双手去苦拼!谢谢你的每一句话![/GLOW] [GLOW=255,green,2]-------- 安仁雨帆![/GLOW]
2007-01-02 09:35
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 

#include<stdio.h>
int main(void)
{
int x;
printf("intput x: ");
scanf("%d",&x);
if(x>=2)
printf("OK\n");
else
printf("quite\n");
return 0;
}
樓主:這樣既使程序具有了交互性,又簡單易懂呢?你覺得這樣編好不!

人生就是个死循环,退出这个循环的条件是系统停止。
2007-01-02 10:39
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 

解释下为什么你的程序会输出quite
#include<stdio.h>
main()
{
int x=1; //此时x为1
if(x=2) /*这里楼主由于用了赋值语句,而不是逻辑运算==,所以此时x为2,而(x=2)的结果是2,why?还记得这样的赋值语句嘛?x=y=2,也就是说赋值语句是右传递的,而if语句的判断是非0就是真,所以此条件成立,执行语句printf("OK")*/
{
printf("OK");
} else if(x<2) {
printf("%d\n",x);
}else {
printf("quite");
}
}

另外,即使把x=2改成了x==2,楼主的程序也不能执行语句printf("quite"),why?请楼主仔细分析上面那段规范的if else结构


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-01-02 12:13
jishuai
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-12-15
收藏
得分:0 
怎么会输出quite呢
还有就是第一个if括号里面应该是X==2啊
应该是一关系语句,怎么能是一个赋值语句啊

2007-01-02 15:58
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
`~~LZ的X`~不是=1就是=2~~~
也就是说~
不是输出OK
就是输出X=2
永远和会输出~~~quite(因为输出它的条件是X>2)

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-01-02 16:16
快速回复:if 语句的问题
数据加载中...
 
   



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

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