C语言中如何把一个字符串转成数字

例如 char a[10][10]={"BF","BB","7F',"00"};
转成int b[10][10]={0xBF,0XBB,0X7F,0X00}

代码如下,应该存放在b[10]数组中

#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char a[10][10]={"BF","BB","7F","00"};
int b[10];
int i,j;
int flag=0;
int n;
int num;
for(i=0;!flag;i++)
{
n=strlen(a[i]);
num=0;
for(j=0;j<n;j++)
{
if(a[i][j]>='A'&&a[i][j]<='F')
{
num+=(a[i][j]-55)*pow(16,(n-j-1));
}
else
num+=(a[i][j]-48)*pow(16,(n-j-1));
}
b[i]=num;
if(num==0)
flag=1;
}
*(b+i)=-1;
for(i=0;*(b+i)!=-1;i++)
{
printf("0x%08x\n",b[i]);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-27
//输入任意一个数字,转换为字符串输出#includevoidmain(){intn=0;charstr[10]={0};printf("inputanumber:");scanf("%d",&n);sprintf(str,"%d",n);printf("thestringis:[%s]\n",str);}
相似回答