大家看看这题。。怎么理解!!

猫仔- 2014-02-17 06:41:52

struct A
{
char a[4];
char b[4];

};
int main()
{
A a;
a.a.........//就是给a赋值AABC。。。。赋值的时候好像是用函数进行的。。那个函数叫什么名字忘了、、呵呵
a.b........//就是给b赋值dddc
cout<<a.a<<endl;//我不懂的是。。为什么答案是dddc
}

...全文
127 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 9 楼 Automation_dmu 的回复:
mencpy(a.a,"dddc",4)//就是给b赋值dddc 
给b赋值?
忘改成a.b了。。
猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 10 楼 jingyes239 的回复:
给b赋值???
猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 5 楼 chenyegui 的回复:
[quote=引用 楼主 chenyegui 的回复:]

struct A
{
char a[4];
char b[4];

};
int main()
{
A a;
mencpy(a.a,"AABC",4)//类似这个函数、、呵呵
mencpy(a.b,"dddc",4)//就是给b赋值dddc
cout<<a.a<<endl;//我不懂的是。。为什么答案是dddc
}

[/quote]
jingyes239 2014-02-17
  • 打赏
  • 举报
回复
给b赋值???
AndyStevens 2014-02-17
  • 打赏
  • 举报
回复
mencpy(a.a,"dddc",4)//就是给b赋值dddc 
给b赋值?
jw903 2014-02-17
  • 打赏
  • 举报
回复
我感觉你最后一句代码 cout<<a.a<<endl;用来输出数组a[4]的内容是有问题的,前面你已经memcpy()将字符AABB这四个字符赋给数组a,注意此时数组a已满; 而cout<<a.a<<endl;意思是从字符数组a的首地址开始输出字符串,知道遇到字符串结束标志'\0'结束,所以应该会出AABBdddc(后边可能还有未知的字符出现) 若只想输出数组可以有个方法: for(i=0;i<4;i++) cout<<a.a[i] cout<<endl;结果只输出AABB
jw903 2014-02-17
  • 打赏
  • 举报
回复
我感觉你最后一句代码 cout<<a.a<<endl;用来输出数组a[4]的内容是有问题的,前面你已经memcpy()将字符AABB这四个字符赋给数组a,注意此时数组a已满; 而cout<<a.a<<endl;意思是从字符数组a的首地址开始输出字符串,知道遇到字符串结束标志'\0'结束,所以应该会出AABBdddc(后边可能还有位置的字符出现) 若只想输出数组可以有个方法: for(i=0;i<4;i++) cout<<a.a[i] cout<<endl;结果只输出AABB
猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 5 楼 chenyegui 的回复:
[quote=引用 楼主 chenyegui 的回复:]

struct A
{
char a[4];
char b[4];

};
int main()
{
A a;
mencpy(a.a,"AABC",4)//类似这个函数、、呵呵
mencpy(a.a,"dddc",4)//就是给b赋值dddc
cout<<a.a<<endl;//我不懂的是。。为什么答案是dddc
}

[/quote] 还有的是。。这题考的就是关于内存管理方面的认识@
猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 楼主 chenyegui 的回复:

struct A
{
char a[4];
char b[4];

};
int main()
{
A a;
mencpy(a.a,"AABC",4)//类似这个函数、、呵呵
mencpy(a.a,"dddc",4)//就是给b赋值dddc
cout<<a.a<<endl;//我不懂的是。。为什么答案是dddc
}

猫仔- 2014-02-17
  • 打赏
  • 举报
回复
引用 1 楼 derekrose 的回复:
这...你把关键的地方忘了 让人怎么解释
类似 mencpy(a.a,"AABC",4) 这样的函数。。你们说。。那里写什么函数赋值才会这样啊!!
Eleven 2014-02-17
  • 打赏
  • 举报
回复
ooolinux 2014-02-17
  • 打赏
  • 举报
回复
源代码?
derekrose 2014-02-17
  • 打赏
  • 举报
回复
这...你把关键的地方忘了 让人怎么解释

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧