| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:为什么k=2?
只看楼主 加入收藏
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
结帖率:92.86%
收藏
已结贴  问题点数:12 回复次数:3 
为什么k=2?
#include<stdio.h>
void main()
{
        int k=0,a=1,b=2,c=3;
        k=a<b?b:a; k=k>c?c:k;
        printf("%d\n",k);
}
k的结果怎么不是0而是2?


设有定义:int k=1,m=2; float f=7;下列表达式错误的是?
1:k=k>=k       2:  -k==     3:    k%int(f)    4:   k>=f>=m
解释下为什么3是错误的?
搜索更多相关主题的帖子: 表达式 
2009-12-02 19:42
秋天的童话
Rank: 2
等 级:论坛游民
帖 子:33
专家分:92
注 册:2009-12-1
收藏
得分:12 
k=a<b?b:a;执行完这句时,由于a<b,因此k=b=2。
k=k>c?c:k;执行完这句时,由于k<c,因此k=2。
因此最后k=2!


int(f)是不合法的,应该是(int)f
2009-12-02 19:54
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
(数据类型符)(表达式)
-k==
怎么理解?

[ 本帖最后由 pgy 于 2009-12-2 20:02 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-12-02 19:59
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
收藏
得分:0 
回复 2楼 秋天的童话
谢谢。。搞明白了原来是变量中运算过程中指发生改变了。
第二个我也想起来了强制转换要在这转换数据类型说明符加圆括号!

[ 本帖最后由 iqyuankong 于 2009-12-2 20:01 编辑 ]
2009-12-02 20:00
快速回复:为什么k=2?
数据加载中...
 
   



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

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