c语言 怎么样能将字符串存入数组

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:08:40
我想将例如"3C35"或"ACBD"四位的十六进制的数存入数组

怎么写代码?要运行通的,要现成代码
我的意思是:我要放入s[]中
最后我要的结果是s[0]=3,s[1]=c,s[2]=b,s[3]=a
不是全放在一起

直接存入一个整形当中,然后建立一个字节指针,做指针加法,一个一个读呗~

四位的十六进制数存入数组,可以用整型数组,不一定要字符数组。作为整数,易于四则运算,位运算。

例如:
void main()
{
unsigned int a[10];
long int b[10];

a[0] = 0x3C35;
a[1] = 0xACBD;
b[0] = a[0] + a[1];
b[1] = a[1] - a[0];
printf("%X %X %x %x\n",a[0],a[1],b[0],b[1]);

printf("please type 2 hex numbers:\n");
scanf("%x %x",&a[2],&a[3]);
printf("%X %X\n",a[2],a[3]);
}

输入输出用 %x 格式,就与普通十进制数操作完全一样。
%X -- 十六进制数用大写字母
%x -- 十六进制数用小写字母

scanf("%x %x",&a[2],&a[3]);
拍入 3c35 abcd 就读进a[2],a[3]去了

如果输出用 %d 格式,就自己转十进制输出。

用字符数组:
char c[10][5];
strcpy(c[0],"3C35");
strcpy(c[1],"ABCD");
但赋入后不能做四则运算,也不能做位运算。