C语言将字符转为整数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言将字符转为整数相关的知识,希望对你有一定的参考价值。
举个例子
char word[x]='A','C','E','6','8'.................
int num[x]
num[x]='10','12','14','6','8'..................
既把16进制的数码转成相应的10进制数,c语言初学者,求大神帮助
void hex2dec(char* srcBuf , int srcLen , int* dstBuf) //16进制转换10进制
for(int i = 0 ; i<srcLen ; i++)
if(srcBuf[i] >= '0' && srcBuf[i] <= '9') //如果是数字
dstBuf[i] = srcBuf[i] - '0';
else if(srcBuf[i] >= 'A' && srcBuf[i] <= 'F') //字母大写
dstBuf[i] = srcBuf[i] - 'A' + 10;
else if(srcBuf[i] >= 'a' && srcBuf[i] <= 'f') //字母小写
dstBuf[i] = srcBuf[i] - 'a' + 10;
else
printf("请传入正确的数据...\n");
return ;
int main()
char word[5]='A','C','E','6','8';
int num[5] = 0;
hex2dec(word , 5 , num);
for(int i = 0 ; i<5 ; i++)
printf("%d ", num[i]);
printf("\n");
记得采纳······追问
谢谢
参考技术B #include <stdio.h>int main()
char word[10] = "A"; //原始16进制字符串
char input[100]; //10进制字符串
int num; //读入的整数
sscanf(word, "%x", &num); //识别16进制
sprintf(input, "%d", num); //转成10进制字符串
printf("%s\\n", input);
return 0;
追问
谢谢
本回答被提问者采纳 参考技术C #undef MAIN_C#include <stdio.h>
#define NUM 4
int main()
int i, sum = 1;
char word[NUM] = 'A','F','6', 'G';
int num[NUM] = 0;
for(i=0; i<NUM; i++)
if(word[i]<='F' && word[i]>='A')
num[i]=word[i]-'A'+10;
else if(word[i]<='9' && word[i]>='0')
num[i]=word[i]-48;
else if(word[i]<='f' && word[i]>='a')
num[i]=word[i]-'a'+10;
else
printf("不合法的字符出现%d次。\n", sum);
sum++;
for(i=0; i<NUM; i++)
printf("num[%d]=%d. ", i, num[i]);
printf("\n");
return 0;
#define MAIN_C追问
谢谢
参考技术D 十六进制先转成二进制,在转换成十进制呗。。追问具体方法,光说我也会
c语言中如何将字符串转化成整数型并输出?
参考技术Ac语言中,可以使用atoi()函数将字符串转化成整数型并输出。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
扩展资料:
C语言常用函数:
1、int abs(int i)
返回整型参数i的绝对值。
2、double cabs(struct complex znum)
返回复数znum的绝对值。
3、double fabs(double x)
返回双精度参数x的绝对值。
4、long labs(long n)
返回长整型参数n的绝对值。
5、double exp(double x)
返回指数函数ex的值。
6、double frexp(double value,int *eptr)
返回value=x*2n中x的值,n存贮在eptr中。
7、double ldexp(double value,int exp)
返回value*2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
参考资料来源:百度百科-atoi
以上是关于C语言将字符转为整数的主要内容,如果未能解决你的问题,请参考以下文章