C语言printf("%%d,%%d\n",a,b);中两个%%是什么意思?怎么输出?

如题所述

%是转义符。

例如/,两个//代表一个/,同理所以两个%% 代表一个%

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。

而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

扩展资料:

转义字符不属于控制字符;控制字符也不属于转义字符,如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符。

转义字符中的特殊字符

+:表示空格

(空格):应换用加号 + 或%20 表示

/:分隔目录和子目录

?:分隔实际的 URL 和参数

%:指定特殊字符

#:表示书签

&:URL中指定的参数间的分隔符

=:URL中指定参数的值

!:URL中指定参数的值

参考资料来源:百度百科-转义字符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-09
%是转义符,你知道/吗? 两个//代表一个/
所以两个%% 代表一个%

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符 意义 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 任意字符 二位十六进制
字符型常量
字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'A', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。
注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义:
转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\ccc (最多三位)八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\xhh(最多两位)十六进制符本回答被提问者采纳
第2个回答  2010-01-19
printf("%%d,%%d\n",a,b);
其中%d是控制输入类型的 意思是输入的a,b是整型;
%%d意思是输出俩个字符:%b (就是输出整型b前边再加个%)。

参考资料:http://zhidao.baidu.com/question/29511246.html?si=5

第3个回答  2010-01-19
两个%%表示输出%这个字符
第4个回答  2010-01-19
int a = 10;
printf("%%d\n", a);
在VC++6.0里测试,输出是%d,格式是错误的!
相似回答