标题:c语言中的类型转换的问题
只看楼主
明明白白
Rank: 2
等 级:论坛游民
帖 子:57
专家分:61
注 册:2012-3-19
结帖率:83.33%
已结贴  问题点数:5 回复次数:4 
c语言中的类型转换的问题
#include<stdio.h>
#include<string.h>

void foo(void)
{
    unsigned int a = 6;
    int b = -14;
   
    printf("%d\n",a+b);
    ((a+b) > 120) ? puts(">6") : puts("<6");
}

int main()
{
    foo();

    return 0;
}
输出为什么是“>6”
搜索更多相关主题的帖子: include 
2012-09-16 00:02
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
得分:5 
a是无符号的
b是有符号的
a+b  b转换为无符号数 在相加   a+b>120
你也可以看看a+b无符号到底是多少
printf("%u",a+b);
2012-09-16 00:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
很烦这种玩代码的问题,一看那种写法就是刻意写出来测试结果的,自己能写这种代码就不要问人为什么,自己去寻求答案,看别人的代码专挑这种东西看,说明被坏师傅引入歧途了。

授人以渔,不授人以鱼。
2012-09-16 01:01
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
得分:0 
支持二楼技术,更喜欢三楼的说法..
2012-09-16 09:25
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
得分:0 
同上!!!
2012-09-16 09:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381483-1-1.html




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

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