C语言printf除了 %d %c 其他还有什么啊?

c语言中 printf("%d,c")表示什么意思~

以下是%后面跟着的 所代表的意思
  d 有符号10进制整数
  o 无符号8进制整数
  u 无符号10进制整数
  x 无符号的16进制数字,并以小写abcdef表示
  X 无符号的16进制数字,并以大写ABCDEF表示
  f 浮点数
  E/e 用科学表示格式的浮点数
  g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数
  c 单个字符
  s 字符串

简单说,前者是变量的值,后者是变量的地址。

这还同变量声明有关。输出格式要与它们匹配。
例如:
char a,b,c;
a='x';b='y';c='z';
printf("%d %d %c
",a,b,c); // a,b 用 十进制输出 'x' 'y' 的 ASCII 编码值,c 输出 'z' 的字符 z.
输出:120 121 z

printf("%d %d %c
",&a,&b,&c); // 带&的 是 算出 它们的地址 &a,&b,&c 分别是 a,b,c 的地址。
对应的输出格式 ,前两个%d 还可以,按十进制 输出,后 一个 %c 就与&c不匹配了。

输出地址,一般用 16 进制,%p 格式:
printf("%p %p %p
",&a,&b,&c);
例如输出: 0012FF7C 0012FF78 0012FF74

有的,
%表示格式化字符串输出
目前printf支持以下格式的输出,例如:
printf("%c",a);输出单个字符。
printf("%d",a);输出十进制整数。
printf("%f",a);输出十进制浮点数.
printf("%o",a);输出八进制数。
printf("%s",a);输出字符串。
printf("%u",a);输出无符号十进制数。
printf("%x",a);输出十六进制数。

%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法

%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%% "%"

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网