一个二维表数据里面东西需要改一下,这个运行出来总报错

img


#include
#include
struct ren{
int age,grade;
char nane[20];
};
int main(void)
{
int i;
struct ren a[6]={
{21,1,"Lucy"},{23,2,"Lily"},{20,1,"Bill"},
{20,2,"Nancy"},{21,2,"Tom"},{20,3,"Peter"}
};
for(i=0;i<6;i++)
if(a[i].age==20&&a[i].grade==2)strcpy(a[i].nane,"Jane");

printf(" age grade name\n");

for(i=0;i<6;i++){
printf("%3d%6d %8s\n",a[i].age,a[i].grade,a[i].name);
}
return 0;
}

直接copy 题主的代码有两个问题,第1个是中文的逗号,第2个是结构体中name,而不是nane,改好代码如下

#include<stdio.h>
#include<string.h>
struct ren
{
    int age,grade;
    char name[20];
};
int main(void)
{
    int i;
    struct ren a[6]=
    {
        {21,1,"Lucy"},{23,2,"Lily"},{20,1,"Bill"},
        {20,2,"Nancy"}, {21,2,"Tom"},{20,3,"Peter"}
    };
    for(i=0; i<6; i++)
        if(a[i].age==20&&a[i].grade==2)
            strcpy(a[i].name,"Jane");
    printf(" age grade name\n");

    for(i=0; i<6; i++)
    {
        printf("%3d%6d %8s\n",a[i].age,a[i].grade,a[i].name);
    }
    return 0;
}