【问题标题】:Copying Data Between Two Struct Array Variables在两个结构体数组变量之间复制数据
【发布时间】:2014-05-09 15:56:54
【问题描述】:

我正在构建一个程序,它接收用户的姓名以及出生日期并打印出最年轻的用户。我正在使用两个结构来做到这一点:

struct date   
{ int day;      
  int month;    
  int year;     
};         

struct person     
{ char name[80];
  struct date birth;
};

还有两个变量:

struct person p[5], final; 

用户被放入变量 p 中。然后我 for 循环将第一个用户数据放入 final 然后将其他所有人与 final 进行比较。最后应该留下的是我打印出的最年轻用户的数据。

但是,当我尝试将 p 的名称放入 final 时,我得到了这个编译器错误:

error: incompatible types when assigning to type ‘char[80]’ from type ‘char *’
    final.name = p[i].name;

谁能帮帮我!

谢谢!!!

编辑:

我像这样复制数据(很抱歉之前错过了这个):

final.name = p[i].name;
final.birth.day = p[i].birth.day;
final.birth.month = p[i].birth.month;
final.birth.year = p[i].birth.year;

【问题讨论】:

  • 你想复制字符串还是整个结构体?
  • Laimh101,请编辑您的问题并显示进行此作业的代码。

标签: c variables struct char


【解决方案1】:

您不能分配给这样的数组。请改用strcpy

strcpy(final.name, p[i].name);

记得添加string.h

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多