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语言初学者,求大神帮助

参考技术A #include <stdio.h>
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语言中如何将字符串转化成整数型并输出?

参考技术A

c语言中,可以使用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语言将字符转为整数的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何将字符串转化成整数型并输出?

字符串数字转为int数,c语言来写?

C语言 拼数字

怎样用c语言编写将字符串转换为整数的函数

c语言中如何将字符串转化成整数型并输出?

c语言中如何将字符串转化成整数型并输出?