| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1136 人关注过本帖
标题:求助,关于转义字符
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:21 
求助,关于转义字符
今天遇到这样一个程序
#include "stdio.h"
varfunc()
{
int var=0;
static int static_var=0;
printf("\40:var equal %d \n",var);
printf("\40:static var equal %d \n",static_var);
printf("\n");
var++;
static_var++;
}
void main()
{int i;
  for(i=0;i<3;i++)
   varfunc();
}
别的都能看懂,只是第六,七行括号内的‘\40:’处看不懂,我运行了一下,发现':'是正常输出,‘\40’输出为一个空格,不明白是什么意思,ASC编码历40是‘(’,并不是空格,我又尝试着把40换成别的数字,则输出了不同符号,都是ASC编码里的,但编号和我输入的数字对不上,也没有发现什么规律。
求解答,求帮助!!!!!!!!!!!!!!!!!!!
万谢!
搜索更多相关主题的帖子: include 
2012-11-02 14:08
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
求助 ,帮帮忙啊,众位大神,战神,C神们。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-02 14:28
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3452
专家分:19340
注 册:2012-3-31
收藏
得分:0 
看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-11-02 14:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
八进制的40  对应10进制的32  所以代表一个空格


转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

楼主请看最后两行,在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。

你说的\40,表示八进制的ascii码为40的字符,

DO IT YOURSELF !
2012-11-02 14:32
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
回复 4楼 wp231957
感谢4楼的兄弟当我解除迷惑,虽然我脑袋里的疑惑比看这封回帖之前要多得多,但那是关于数字8进制16进制的,所以现在停下手中的学习,先把数字进制弄明白再说,无以为谢,20分奉上。
再次感谢。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-02 14:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
进制这东西是很简单的了  

简单的讲 就是满几进1的问题

DO IT YOURSELF !
2012-11-02 14:57
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
哎 研究好久,好像是研究通了,可又有了新的困惑,比方说给一个数字23,怎么判断他是八进制数还是十进制数?
还有printf("\40");和printf("%c",40);输出的结果也不一样看来,前者是按8进制算的ASC码后者按10进制算的ASC码。
阿弥陀佛:处处小心啊,什么时候才能写程序信手拈来呢,路途遥远呀

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-02 15:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
好好的有可type字符不直接type而要用什么转义,这是没事找事,自寻烦恼。

授人以渔,不授人以鱼。
2012-11-02 16:10
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
版主果然威武,回一句话我纠结了20多分钟才明白怎么回事,原来我还没有学到那,typedef要到第9章才有,我才看到第8章。
哎,差距呀!要把差距转化为动力。。。。。。。。。。。。。。。
前路漫漫,慢慢走。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-02 16:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
什么呀,我说的type是动词,“可打印字符”,不是不可打印字符或有令编译器误解语义的字符,没必要使用转义形式。你那个只是普通的圆括号而已,至于要用转义字符输出么。

授人以渔,不授人以鱼。
2012-11-02 16:46
快速回复:求助,关于转义字符
数据加载中...
 
   



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

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