yongganint 发表于 2022-9-22 20:14:00

c语言编程新手求助

#include <stdio.h>

int main()
{
      printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
      printf("前边用 填充:%10d\n", 2015);
      printf("前边用0填充:%010d\n", 2015);
      printf("右对齐,保留2位:%10.2f\n", 3.1416);
      printf("左对齐,保留3位:%-10.3f\n", 3.1416);
      printf("右对齐,指数形式:%10e\n", 520000.0);
      printf("左对齐,指数形式:%-10E\n", 520000.0);

      return 0;
}
为什么第一行变成了 fishic
%10d
%010d
%10
%-10
%10e
%-10E分别代表什么意思呢?

ba21 发表于 2022-9-22 20:19:00

为什么第一行变成了 fishic?
70, 105, 115, 104, 67 以%c是 ASCII 表中十进制对应的字符输出

分别代表什么意思呢?
printf("前边用 填充 这些printf中的内容解释的在清楚不过了。

jackz007 发表于 2022-9-22 20:38:19

本帖最后由 jackz007 于 2022-9-22 21:06 编辑

      在 0 ~ 127 的范围内,整型数就是字符,字符就是整型数,就是说,如果把这个范围内的整型数用 printf() 按格式描述符 "%c" 进行显示,那么,看到的就会是字符(用 putchar() 效果相同)。当然,编码小于 32 的 ASCII 字符一般都是不可见字符。
      很显然,70, 105, 115, 104, 67 是 ASCII 编码,所对应的字符分别是 'F' , 'i' , 's' , 'h' , 'C'。
%d      - 按整型数输出数字
%10d      - 按整型数输出数字,如果不足 10 个字符,那么,就在数字前面用空格填充到10个字符。
%010d   - 按整型数输出数字,如果不足 10 个字符,那么,就在数字前面用字符 '0' 填充到 10 个字符。
%-10d   - 按整型数输出数字,如果不足 10 个字符,那么,就在数字后面用空格字符填充到 10 个字符。
%e      - 按科学计数法显示浮点(双精度)数,输出的字符 e 是小写字母,其他的修饰请参考上面。
%E      - 按科学计数法显示浮点(双精度)数,输出的字符 E 是大写字母,其他的修饰请参考上面。

howzyao 发表于 2022-9-24 00:31:48

真牛,一眼看出鱼c,我还要去查表,看来坛里高手如云啊。我要向你学习!
页: [1]
查看完整版本: c语言编程新手求助