dwdave 发表于 2021-4-2 10:20:32

c语言变量的应用

本帖最后由 dwdave 于 2021-4-2 10:21 编辑

我想问一下 这个数字为啥最后会变成字母
#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;
}

wp231957 发表于 2021-4-2 10:47:28

可见ascii字符,都具备自己的码值,在c里单个字符和无符号型短整是通用的

dwdave 发表于 2021-4-2 11:58:38

wp231957 发表于 2021-4-2 10:47
可见ascii字符,都具备自己的码值,在c里单个字符和无符号型短整是通用的

还是不太懂 能说的直白些吗

肖-肖 发表于 2021-4-2 14:27:50

dwdave 发表于 2021-4-2 11:58
还是不太懂 能说的直白些吗

printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
你这个里面的: 70, 105, 115, 104, 67用%d输出就是代表: 70, 105, 115, 104, 67这些事数据
然而你用%c输出-->那么代表: 70, 105, 115, 104, 67这些是ASCII码,ASCII码就是一张数字与字符相关联的表
因为你是%C输出-》所以它会把 70, 105, 115, 104, 67这些数字对应的字符输出来。
也就是说其实:字符也是一种特殊的数字!
你可以这样验证-》如下:
printf("打印五个字符:%d %d %d %d %d\n", A, B, C, D, E);
上面的代码会把A, B, C, D, E输出为对应的ASCII码的数值,而不是字符:A, B, C, D, E
希望你能明白!
讲解不易,明白了的话,给个最佳答案吧,谢谢啦{:5_102:}

肖-肖 发表于 2021-4-2 14:30:50

肖-肖 发表于 2021-4-2 14:27

你这个里面的: 70, 105, 115, 104, 67用%d输出就是代表: 70, 105, 115, 104, 67这些事数据
...


附图一张,再加解释{:5_102:}

肖-肖 发表于 2021-4-2 14:32:02

肖-肖 发表于 2021-4-2 14:30
附图一张,再加解释

那张图所指向的内容是:一 一 对应的哦!图上的文字没显示出来{:5_102:}

wp231957 发表于 2021-4-2 15:06:25

dwdave 发表于 2021-4-2 11:58
还是不太懂 能说的直白些吗

百度ascii码,这个东西属于必知必会的

dwdave 发表于 2021-4-3 13:59:48

肖-肖 发表于 2021-4-2 14:27

你这个里面的: 70, 105, 115, 104, 67用%d输出就是代表: 70, 105, 115, 104, 67这些事数据
...

谢谢,明白了
页: [1]
查看完整版本: c语言变量的应用