标题:为什么声明一个"char c4='\101',c5='\116';"字符串变量,输出的是字符是A和 ...
只看楼主
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
结帖率:96.77%
已结贴  问题点数:20 回复次数:5 
为什么声明一个"char c4='\101',c5='\116';"字符串变量,输出的是字符是A和N,不是e 和t呢?
char c4='\101',c5='\116';
 printf("\t\b %c %c\n",c4,c5);
显示的是“A N”
我是个90后大学生 上大学才碰电脑的 现在为了学好动态网站 自学c !
呵呵 希望帮帮忙 帮我解释下为什么 不尽感激!
搜索更多相关主题的帖子: 大学生 字符串 90后 动态 
2011-10-08 19:11
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:10 
'\101'中的101你是按十进制理解的,而计算机是按八进制理解的。
对于你想要的结果,可以直接写成
char c4 = 101, c5 = 116;

用C做动态网站太复杂了,用的是CGI接口技术。既然你都说做.net框架的网站就该学一门.net的语言。VB、C#。

重剑无锋,大巧不工
2011-10-08 19:21
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
得分:10 
楼主这里用的是转义符'\'来处理的,转义符后面要求的是八进制或十六进制数的,所以他把你的 c4='\101'理解成八进制了,而'A'的ascii码的八进制就是101,那个c5='\116'同理,所以,你要想这样定义的话,必须用八进制的数,当然也可以用十六进制数来表示,但那要在数的前面加x的.例如: c4='\145'(c4='e';)(八进制),c5='\x74'(c5='t';)(十六进制)
其实还是用 char c4='e',c5='t';这样的定义好些!清楚明了何乐而不为?
2011-10-08 19:43
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
得分:0 
谢谢大侠 我懂了!

成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2011-10-08 21:23
短暂的生命
Rank: 1
等 级:新手上路
帖 子:8
专家分:9
注 册:2011-8-31
得分:0 
真是细节决定成败啊!学习了。
2011-10-08 22:48
xiangnan8801
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-7-23
得分:0 
学习了·
2011-10-08 23:32



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




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

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