鱼C论坛

 找回密码
 立即注册
查看: 2925|回复: 7

[已解决]c语言变量的应用

[复制链接]
发表于 2021-4-2 10:20:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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;
}
最佳答案
2021-4-2 14:27:50
dwdave 发表于 2021-4-2 11:58
还是不太懂 能说的直白些吗
 [code]printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
[/code]
你这个里面的: 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
希望你能明白!
讲解不易,明白了的话,给个最佳答案吧,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-2 10:47:28 From FishC Mobile | 显示全部楼层
可见ascii字符,都具备自己的码值,在c里单个字符和无符号型短整是通用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-2 11:58:38 | 显示全部楼层
wp231957 发表于 2021-4-2 10:47
可见ascii字符,都具备自己的码值,在c里单个字符和无符号型短整是通用的

还是不太懂 能说的直白些吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 14:27:50 | 显示全部楼层    本楼为最佳答案   
dwdave 发表于 2021-4-2 11:58
还是不太懂 能说的直白些吗
 [code]printf("打印五个字符:%c %c %c %c %c\n", 70, 105, 115, 104, 67);
[/code]
你这个里面的: 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
希望你能明白!
讲解不易,明白了的话,给个最佳答案吧,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 14:30:50 | 显示全部楼层
肖-肖 发表于 2021-4-2 14:27
[/code]
你这个里面的: 70, 105, 115, 104, 67用%d输出就是代表: 70, 105, 115, 104, 67这些事数据
...

ASCII.png
附图一张,再加解释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 14:32:02 | 显示全部楼层
肖-肖 发表于 2021-4-2 14:30
附图一张,再加解释

那张图所指向的内容是:一 一 对应的哦!图上的文字没显示出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 15:06:25 From FishC Mobile | 显示全部楼层
dwdave 发表于 2021-4-2 11:58
还是不太懂 能说的直白些吗

百度ascii码,这个东西属于必知必会的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-3 13:59:48 | 显示全部楼层
肖-肖 发表于 2021-4-2 14:27
[/code]
你这个里面的: 70, 105, 115, 104, 67用%d输出就是代表: 70, 105, 115, 104, 67这些事数据
...

谢谢,明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-8 05:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表