vc++中,如何求某字符数组的值,比如char[]="aabc"的值,我是要给另一个变量赋值,不是要显示

、... 展开
 我来答
百度网友d7cef73
2011-06-04 · TA获得超过624个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:274万
展开全部
字符数组为内存中一段空间,可以在该空间中存储字符对象,char[]="aabc“即为在内存中存储了'a','a','b','c','\0'5个字符,如果要将该5个字符赋给其他变量的话,如果另一变量为char类型指针,可以使用strcpy()函数进行复制:
char* pstr;
strcpy(pstr,char);
如果另一变量为char类型数组,可以依次进行循环赋值:
char b[5];
for(size_t i=0;i<strlen(char);i++)
{
b[i]=char[i];
}
当然,数组名即为数组首字符的指针,所以第二种方法也可以采用strcpy()函数来完成!
更多追问追答
追问
char[]="aabc",如果a的十六进制为0xaa,b是0xbb,我希望得到一个aabb的int,把他赋值给另一个int
追答
首先,“aabc"为一个字符型字符串,其在内存中按顺序存储,每个字符占据一位,存储的是各个字符的ASCII码,也即每个字符对应的ASCII码的二进制数,”97“”97“”98“”99“,你要将该字符串转化为int类型的变量(不太清楚这个动作的意图),可以将每个字符隐式转化为对应的ASCII码,转化后的ASCII为每个字符对应的十进制数,即:
int a=0;
a=char[0];
由于char[0]存储的是字符‘a',所以该转化后得到的是十进制数97,
然后依次转化,可以得到每个字符对应的十进制数
完成后按照你的意图确认是否相加...
panweiy
2011-06-04 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:722万
展开全部
/*
那就用下标来循环。逐个元素赋值。
或者用strcpy函数和memcpy函数
*/

#include<stdio.h>
#include<string.h>
int main()
{
char a[]="abcd";
char b[10],c[10],d[10];
int i;
/*方法一,循环赋值*/
for(i=0;a[i]!='\0';i++)
{
b[i] = a[i];
}
b[i] = '\0';

/*方法二,复制字符串*/
strcpy(c,a);

/*方法二,复制内存*/
memcpy(d,a,sizeof(a));

/*输出测试 */
puts(a);
puts(b);
puts(c);
puts(d);
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
图卷
2011-06-04
知道答主
回答量:50
采纳率:0%
帮助的人:32.9万
展开全部
int sum=sizeof(char);
sum就是char的值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-06-04
展开全部
某字符数组的值
是指什么值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式