鱼C论坛

 找回密码
 立即注册
查看: 3187|回复: 8

why?????

[复制链接]
发表于 2013-10-31 21:49:12 | 显示全部楼层 |阅读模式
2鱼币
#include<stdio.h>
main()
{
        char ch1,ch2;
        ch1= ‘A’+5-3;
        ch2= ‘A’+6-3;
        printf(“%d, %cn”, ch1,ch2);
}
本程序执行后的结果中,为什么打出的是67,而不是C??
希望大家能帮我解决这个问题!

最佳答案

查看完整内容

这和你输出的类型有关系,%c就是输出字符,%d就是输出数字,这与ASCII码有关系,再ASCII码里,每一个字符会对应一个数字。定义的字符,但输出类型如果是%d的话,那么它就会转化为与之相对应的ASCII码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-31 21:49:13 | 显示全部楼层
这和你输出的类型有关系,%c就是输出字符,%d就是输出数字,这与ASCII码有关系,再ASCII码里,每一个字符会对应一个数字。定义的字符,但输出类型如果是%d的话,那么它就会转化为与之相对应的ASCII码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-31 21:55:44 | 显示全部楼层
不管是char 还是 int本质都是一样的 就是数
看你怎么用他 如果是
%d打印出来的就是数 %c打印的就是字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-1 00:03:53 | 显示全部楼层
printf是格式函数%d是整数 %c是字符
至于char  储存的是Ascll的数值 也是整数  但是因为%c而显示字符 而%d显示整数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-1 12:55:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-1 12:55:48 | 显示全部楼层
czr27 发表于 2013-10-31 21:55
不管是char 还是 int本质都是一样的 就是数
看你怎么用他 如果是
%d打印出来的就是数 %c打印的就是字符

哦!谢啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-1 12:56:40 | 显示全部楼层
青玄 发表于 2013-11-1 12:44
这和你输出的类型有关系,%c就是输出字符,%d就是输出数字,这与ASCII码有关系,再ASCII码里,每一个字符会 ...

哦!谢啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-1 19:42:26 | 显示全部楼层
printf(“%d, %cn”, ch1,ch2);
%d是以整数型的形式输出啊当然是67
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-2 09:03:00 | 显示全部楼层
本帖最后由 Root`s_Dream 于 2013-11-2 09:04 编辑

{:1_1:}printf(“%d, %c\n”, ch1,ch2);  第一个是以整形打印,第二个以字符打印,所以结果为ch1=67,ch2='D',希望LZ理解 n前面还应加\ 表示换行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 09:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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