社区
C语言
帖子详情
求助:一个让我困惑了很久的问题
Haruka
2007-09-15 12:58:22
如果输入程序
#include<stdio.h>
void main()
{
int i='45';
putchar(i);
}
为什么在VC里输出是5啊?请各位指点,一下不胜感激!
...全文
318
14
打赏
收藏
求助:一个让我困惑了很久的问题
如果输入程序 #include void main() { int i='45'; putchar(i); } 为什么在VC里输出是5啊?请各位指点,一下不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cpaal
2007-09-21
打赏
举报
回复
兄弟 继续努力把
独孤过儿
2007-09-20
打赏
举报
回复
在C语言中,单引号中间的变量表示一个字符,所以单引号中间只能有一个字符;如果要表示一
个字符串,要用双引号,你的这句:
int i='45';
本意是想把45这个数赋值给 int 类型的变量 i,但是你错误的给45加上了单引号,这样它就变
成了一个“怪物”,它既不是整形变量,也不是字符,也不是字符串了,因为字符是单引号引起
来的,中间只能有一位,字符串是双引号引起来的,所以你的输出是不正常的。
至于为什么会输出5,楼上的已经解释了,但是估计现在的你理解起来很困难。你暂时可以不用
管,只需要记住,你声明的变量要和它的类型相匹配就行了,随着学习的深入,你渐渐的就明白
为什么输出是5了
zjzzdx
2007-09-20
打赏
举报
回复
putchar() 每次只能输出一个字符,但'45'这个字符串有两个字符 所以只输出一个了 如果写成这样:
{char i[]="45";
puts[i];}
这样可以输出 45 。
Treazy
2007-09-15
打赏
举报
回复
这个问题只能说VC的编译器存在小问题,有些错误不报,或者报了楼主也没注意
输出多少不重要,我还敢说有的编译器还能输出4
重要的把数据的类型都搞清楚了,就象楼上几位说的,把基础打扎实了!
huang_yu1314
2007-09-15
打赏
举报
回复
同意ls
_石头_
2007-09-15
打赏
举报
回复
哎~
这些兄弟们都怎么啦?楼主不要去考虑为什么是5,先把语言弄严谨些,尽量避免出现一些常识性的问题,等自己的经验和知识都积累到一定的程度呢,就水到渠成了!
cceczjxy
2007-09-15
打赏
举报
回复
刚开始学的,进制转换一般是最难懂的.应该没有3435这样更好懂.
liqiang123abc
2007-09-15
打赏
举报
回复
lovewhzlq()
你说的都是什么啊
别误导。。
楼主他本来就是新手。
你这么说
他会更迷糊。。
liqiang123abc
2007-09-15
打赏
举报
回复
你是刚开始学C语言么
我来告诉你答案
是这样
int i='45';
最后int i的数值是13365
13365表示成字符就是5
为什么是13365呢
4的数值是52
2进制表示为 00110100
5的数值是53
2进制表示为 00110101
那么'45'就是把2个个起来
0011010000110101
结果就成了10进制13365了
再经过putchar(i);输出就成了 5 了
chen_liang747703
2007-09-15
打赏
举报
回复
进来学习!!!学习!
lovewhzlq
2007-09-15
打赏
举报
回复
VC把'45'当成两个字符来赋值给i,i 是4个字节,赋值以后i=0x00003435
'4'=34;'5'=35;当用putchar时,就取一个低字符把'5'给输出了!
jixingzhong
2007-09-15
打赏
举报
回复
'45' 这个表示的意义
_石头_
2007-09-15
打赏
举报
回复
Haruka ()
为什么在VC里输出是5啊?
--------------------------------
vc能通过编译?----典型的表达式类型不匹配阿!这都可以?----郁闷阿~~~~
_石头_
2007-09-15
打赏
举报
回复
int i='45';
错误:这句话包含了几个错误
i的类型是int; ' '是字符的表示方式, 而45不是一个字符(ascii码里面没有'45',只有'4'和'5')
区块链之Go语言设计模式
在朋友聚会上碰到了
一个
美女Sarah,从拉斯维加斯来的,可我不会说粤语,她不会说普通话,只好
求助
于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我)。 &...
困惑
了我N
久
的泡泡堂无法正常运行的
问题
终于解决了
困惑
了我N
久
的泡泡堂无法正常运行的
问题
终于解决了 不记得从什么时候开始 泡泡就无法正常玩了 具体表现为第一次安装好的时候还可以玩 重启机器以后就无法再玩了 出现一些英文提示,好象是EXE文件关联出
问题
之类 然后...
从大三开始奋发的程序员面临新的
困惑
……
这是
一个
我不擅长回答,但愿意谈些看法的
问题
;这封信让我们看到人的力量有多么强大,机会得需要用心的人抓住,汗水浇涛的永远是成就;这封信中谈及困扰是种幸福的困扰,是写信人自己创造的幸福,而幸福终将更加持
久
...
数据库密码错误,但是密码没有填错(制数据转换规则)
最近遇到了个
问题
困扰了我很
久
, 知道报错在哪里,但是就是找不到
问题
到底出现在哪里,最后
求助
了资深老程序员才让
问题
瞬间迎刃而解。
问题
来自于数据库密码错误:但是数据库里面没有
问题
,原生java项目里面连接数据库也...
matlab求自相关矩阵,【
求助
】MMSE信道估计时如何计算信道自相关矩阵Rhh?
困惑
很
久
的
问题
了,请大家指点一下在LMMSE信道估计的最终表达式为下面的式子,其中P为LS估计出来的频率响应,Rhh是信道响应的自相关矩阵。Hmmse=Rhh(Rhh+B/SNR*I)-1Hls
问题
:1.我的疑惑是:在作估计时是不知道信道...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章