用C语言编写,定义一个字符为a输出对应的ascii值

刚学几节课的c语言,我会用ASCII值输出对应的符号。但是反过来用ASCII值输出符号却老是对不上……求指点。
比如下面的
main()
{
char c;
c='a';
printf("c=%d",c);
}
这样怎么不能输出a的ASCII值啊?

1 定义字符变量;

2 输入字符,可以使用scanf或getchar;

3 输出ascii码值,用printf并以%d格式输出即可,即以整型输出。

因为char型变量,表示的是字符,其内部存储的就是ascii码值,以整型方式输出时,打印的就是对应的ascii码值的10进制值。

代码:

#include <stdio.h>
int main()
{
    char c;
    c = getchar();
    printf("ascii=%d\n", c);
    
    return 0;   
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-07

注意printf后面的分号写成英文的。

第2个回答  2014-03-07
下面,第一部分输出 字符 'a' 的 10 进制 ascii值 和 16 进制 ascii值。
第二部分输出 ascii值 0x21 到 0x7e 范围 的 字符 和 ascii值 对应 表。

#include <stdio.h>
int main(){
char a='a';
printf("%c -- %d %#x\n",a,a,a);
printf("char -- deci_value hex_value\n");
for (a=0x21;a < 0x7e ;a )
printf("%c -- %d %#x\n",a,a,a);
return 0;
}

a -- 97 0x61
char -- deci_value hex_value
-- 32 0x20
! -- 33 0x21
" -- 34 0x22
# -- 35 0x23
$ -- 36 0x24
。。。
x -- 120 0x78
y -- 121 0x79
z -- 122 0x7a
{ -- 123 0x7b
| -- 124 0x7c
} -- 125 0x7d本回答被网友采纳