鱼C论坛

 找回密码
 立即注册
查看: 3231|回复: 5

[迷途问路] 求大神指导下,谢谢哦!!

[复制链接]
发表于 2013-2-3 14:39:36 | 显示全部楼层 |阅读模式
1鱼币
#include "stdio.h"
void main()
{

char a, b;
a = 'a';
b = 'b';
a = a-32;
b = b-32;
printf("%c,%c\n",a,b);
printf("%d,%d\n",a,b);
}


我初学C,想问下上定义了 a = 'a'  了 为什么下面 再次定义 a = a-32
最后的输出,printf 里的 a  和b  是 代表哪么 呢? 为什么出来会是大写 的 符号 和ASCII  为什么不混乱 ?为什么会出现小写的呢?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-3 14:46:06 | 显示全部楼层
同一个大写字母和小写字母ASCII码值相差32
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 15:19:31 | 显示全部楼层
= 是赋值,
因为'a'的 ASCII等于97  ,a-32= 65刚好是大写字符A的ASCII码,%c 输出 字符, %d 输出整形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 15:30:28 | 显示全部楼层
输出的a、b第一次是字符形式输出,大写的A、B,第二次是acsii码输出65/66大写的和小写的acsii码相差32.
下面的代码就可以看出来:
// test14.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"

#include "stdio.h"
#include <conio.h>
void main()
{
        char a, b;
        a = 'a';
        b = 'b';
        printf("%c,%c\n",a,b);
        printf("%d,%d\n",a,b);
        a = a-32;
        b = b-32;
        printf("%c,%c\n",a,b);
        printf("%d,%d\n",a,b);
        getch();
}

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

使用道具 举报

发表于 2013-2-5 13:20:50 | 显示全部楼层
开始变量a和b分别是字符a,b!ASCII码也就是97和98,减了32之后就是65和66,相应代表的字符就是A,B!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-2-8 11:23:38 | 显示全部楼层
建议翻看一下ascii表,linux下可以直接man ascii,windows下。。。还是百度吧{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 16:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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