c语言问题,怎么给结构体数组赋值一个字符串怎么给结构体数组负值一个字符串struct
{
char *name;
int n;
}people[3]={{"aimi",0},{"mike",0},{"jome",0}};
这样子为什么不行?
/*因编译器而异,我的编译器就可以这样赋值。对于你的,首先检查你的代码中的标点符号是否是英文标点符号。还是不行的话,可以这样,看例子:*/
#include<stdio.h>
#include<stdlib.h>
struct
{
char *name;
int n;
}people[3];
int main()
{
char *arr[3]={"aimi","mike","jome"};
int i;
for(i=0;i<3;i++)
{
people[i].name=arr[i];
people[i].n=0;
printf("%s %d\n",people[i].name,people[i].n);
}
system("PAUSE");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
struct
{
char *name;
int n;
}people[3];
int main()
{
char *arr[3]={"aimi","mike","jome"};
int i;
for(i=0;i<3;i++)
{
people[i].name=arr[i];
people[i].n=0;
printf("%s %d\n",people[i].name,people[i].n);
}
system("PAUSE");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-08-10
strcpy(people.name, "mike");
~
~
~追问
~
~
~追问
我试了一下,发现按你这种方法,定义时不能用指针,应该给他一个数组空间,才不会出错。这是为什么呢?谢谢大佬