此问题已在此处有答案:
Assigning strings to arrays of characters(10个答案)
7天前关闭
为什么people[i].name =“something”这行不行?
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
typedef struct {
char name[100];
char number[100];
}
person;
int main(void)
{
person people[2];
people[0].name = "Brian";
people[0].number = "+1-617-495-1000";
people[1].name = "David";
people[1].number = "+1-949-468-2750";
}
我的IDE说我应该使用strcpy
,但我很困惑为什么。
1条答案
按热度按时间bt1cpqcv1#
数组是不可修改的左值,即你不能分配给他们。你总是可以给单个数组元素赋值(假设它们不是const)。但是你不能给整个数组赋值。
编译器建议使用
strcpy()
是正确的。