c语言怎么求字符的ascii码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么求字符的ascii码相关的知识,希望对你有一定的参考价值。
强制转换成int即可。#include <stdio.h>
int main (void)
char c = 'A';
int x = (int) c;
printf("%d\n",x);
return;
运行结果
即是‘A’的ASCII码。
如果仅用于输出,那么printf函数以%d输出一个字符即可。
#include <stdio.h>
int main (void)
char c = 'A';
printf("%d\n",c);
return;
运行结果
65即是‘A’的ASCII码 参考技术A //函 数 名:CharToHex()
//功能描述:把ASCII字符转换为16进制
//函数说明:
//调用函数:
//全局变量:
//输 入:ASCII字符
//返 回:16进制
/////////////////////////////////////////////////////////////////////
unsigned char CharToHex(unsigned char bHex)
if((bHex>=0)&&(bHex<=9))
bHex += 0x30;
else if((bHex>=10)&&(bHex<=15))//大写字母
bHex += 0x37;
else bHex = 0xff;
return bHex;
/////////////////////////////////////////////////////////////////////
//函 数 名:HexToChar()
//功能描述:把16进制转换为ASCII字符
//函数说明:
//调用函数:
//全局变量:
//输 入:16进制
//返 回:ASCII字符
/////////////////////////////////////////////////////////////////////
unsigned char HexToChar(unsigned char bChar)
if((bChar>=0x30)&&(bChar<=0x39))
bChar -= 0x30;
else if((bChar>=0x41)&&(bChar<=0x46))//大写字母
bChar -= 0x37;
else if((bChar>=0x61)&&(bChar<=0x66))//小写字母
bChar -= 0x57;
else bChar = 0xff;
return bChar;
为啥C语言编程时输入数字转化为了ASC码
你用getch()来获得z[i]的值,getch返回的是字符不是数值,字符的值就是asc码,你强制转换后输出的不是字符是字符的值,不会变成你要的数值的,只能做减法。或者不用getch 参考技术A 1、直接将字符变量赋值给整型变量,即可实现字符到对应ASCII码的转换。2、具体实现方法可以参考如下程序段:
char str[]="abds%*&34dfs"; // 定义一个字符数组,存放待转换为ASCII码的字符串
int AsciiNum[20]; // 定义一个整型数组,存放字符所对应的ASCII码值,数组大小根据字符串长度进行设置
int i;
// 将字符串的每个字符逐个赋值给整型数组AsciiNum,即实现字符到ASCII码值的转换
for(i=0; i<strlen(str); i++)
AsciiNum[i] = str[i]; // 最后数组AsciiNum就是字符串每个字符所对应ASCII码值的数组
参考技术B 你的程序这样设计可以输入不全是数字的密码。
如果需要将z数组中的数字转换成整数,可以:
-z数组开设7个空间,可转换6位密码,开个整型变量k
-加#include<stdlib.h>
-while语句建议如下修改:
while
(
(z[i]=getch())!=13
)
//或者替换13为'\n'
i++;
if
(
i>=6
)
break;
z[i]=0;
k=atoi(z);
//可将输入的字符串转换成相应的整数
-需要查看是否6位十进制数超过整型范围,否则改成long
int,并用
atol
函数转换。
以上是关于c语言怎么求字符的ascii码的主要内容,如果未能解决你的问题,请参考以下文章