|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ C语言基础题,求助
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1805
人关注过本帖
标题:
C语言基础题,求助
只看楼主
加入收藏
拾柒17
等 级:
新手上路
帖 子:2
专家分:0
注 册:2019-8-8
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:3
C语言基础题,求助
void foo(void)
{
unsigned int a=6;
int b=-20;
(a+b>6)?puts(">6"):puts("<=6");//put为打印函数
}
问代码输出是什么?
我不太懂的地方是答案说:
输出值是“>6”。因为a+b这里做了隐式的转换,把int转化为unsigned int.编译器就会把b当作一个很大的正数。
搜索更多相关主题的帖子:
C语言
基础
unsigned
int
puts
2019-08-08 16:11
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
2
楼
收藏
得分:10
首先你觉得 unsigned int + signed int 的结果应当是什么类型?
不管你怎么回答,都得存在类型提升的情况。假设你的回答是“结果是TYPE类型”的话,要么得将unsigned int转化为TYPE类型,要么得将signed int转化为TYPE类型,甚至有可能两者都需要转换。
打开 https://zh.
然后看其中的“整数提升”那节
2019-08-08 16:30
举报帖子
使用道具
赠送鲜花
wufuzhang
来 自:广州
等 级:
贵宾
威 望:
21
帖 子:206
专家分:1346
注 册:2017-8-9
第
3
楼
收藏
得分:10
回复 楼主 拾柒17
下面这个帖子的楼主遇到跟你一样的问题。
https://bbs.bccn.net/viewthread.php?tid=495997&page=1#pid2706271
这个帖子里面他提了两个问题,5楼才是你想看的结果。
不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-08-08 16:38
举报帖子
使用道具
赠送鲜花
拾柒17
等 级:
新手上路
帖 子:2
专家分:0
注 册:2019-8-8
第
4
楼
收藏
得分:0
回复 2楼 rjsp
学习到了,收货满满,谢谢
2019-08-11 10:40
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
C语言基础题,求助
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024881 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved