表示把数据按十进制整型输出,类似的符号含义如下:
%o表示把数据按八进制整型输出;
%x表示把数据按十六进制整型输出;
%u表示把数据参数按无符号整型输出。
%f显示小数表示的普通浮点数。
扩展资料:
c语言特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。不同的变量类型可以用结构体(struct)组合在一起。通过指针(pointer),C语言可以容易的对存储器进行低级控制。预编译处理(preprocessor)让C语言的编译更具有弹性。
%%%d呢
追答一般是这么用吧:
printf("%%%d", 123);
会输出:
%123
printf会一个个来处理格式串“%%%d"中的格式符,它从第一个%开始看,发现%%是连续的两个,输出一个%,
剩下的是%d, 表示输出一个十进制表示的整数
那你看一下这个程序:
#include
void main()
{
int i=8,j=9;
printf("%%d,j=%%%d\n",i,j);
}
输出结果是怎样的,谢谢!
那你看一下这个程序:
#include
void main()
{
int i=8,j=9;
printf("%%d,j=%%%d\n",i,j);
}
输出结果是怎样的,谢谢!
%d,j=%8
不是%9
为什么
追答答案是没有错啊。你看printf是怎么输出的吧:
"i=%%d,j=%%%d\n"
前两个格式符是%%,都是输出%,不需要对应的格式串后面的参数,最后一个格式符是%d,对应一个参数,是i
为什么是i不是j
追答是这样的,printf是通过格式串来知道应该怎么格式化输出格式串后面的参数的,如:
printf("%c, %d", 'a', 123);
printf在执行时,看格式串中有两个格式符,一个是%c, 一个是%d, 它就知道了格式串后面有一个参数是字符,另一个参数是整数了。就按格式串指示的来格式化输出。
那么printf("%%d,j=%%%d\n",i,j);也是类似这样执行的。
它看到有三个格式符:%% %% %d
前两个格式符是表示输出%的,%d是表示后面有一个参数是整数,请注意:
格式串后面的整数是哪一个?
就是调用时格式串"%%d,j=%%%d\n"后面的i啊。所以格式化输出i, j被忽视了。因为格式串中没有对应j的格式符。