搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ ]求助 char a=1025;printf("%d",a); 输出结果为什么是1.????
标题:
]求助 char a=1025;printf("%d",a); 输出结果为什么是1.???? ...
只看楼主
tcjian
等 级:
新手上路
帖 子:1
专家分:0
注 册:2008-7-20
楼主
问题点数:0 回复次数:6
]求助 char a=1025;printf("%d",a); 输出结果为什么是1.????
求助 char a=1025;printf("%d",a); 输出结果为什么是1.????
搜索更多相关主题的帖子:
char
printf
结果
输出
2008-07-20 18:55
qxykzx
等 级:
新手上路
帖 子:27
专家分:0
注 册:2008-7-17
第
2
楼
得分:0
我是这样想的
用char定义char a=65和char a=A是等效的
当输出为printf("%d",a); 输出65
当输出为printf("%c",a); 输出A
这是asc码
至于等于1的问题,楼主可以试下你原来程序,a=0~127,a为本身
a=128,则输出a=-128
a=129,则输出a=-127
a=130,则输出a=-126
依次类推,不知道我说明白没有,大家共同努力呀!!!
2008-07-20 20:13
独孤小梦
等 级:
新手上路
威 望:
1
帖 子:338
专家分:0
注 册:2008-6-5
第
3
楼
得分:0
下面一节是补码?
编程小菜
2008-07-20 20:18
iFreeBSD
等 级:
业余侠客
威 望:
4
帖 子:474
专家分:236
注 册:2007-11-5
第
4
楼
得分:0
1025 mod 256
without further ado, let’s get started
2008-07-20 21:01
coming
等 级:
新手上路
帖 子:244
专家分:0
注 册:2008-4-20
第
5
楼
得分:0
大概要是比那个大的话就循环了 就像楼上说的~~~不过哪高手能给一个精确的解释
2008-07-20 21:53
chengli
等 级:
新手上路
帖 子:26
专家分:0
注 册:2008-7-3
第
6
楼
得分:0
这样的
1025 == 0x401 二进制为 0100 0000 0001
char 类用的变量只有8为 0x401已经使变量的值溢出了, 取后面8位
所以说输出 1
2008-07-21 20:11
蓝色神话
等 级:
论坛游民
威 望:
1
帖 子:404
专家分:24
注 册:2006-5-11
第
7
楼
得分:0
楼上解释已经很清楚了!
2008-07-21 20:20
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-224589-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.504380 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved