C语言字符数组问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:54:13
#include <stdio.h>
main()
{
struct stu
{
int age;
char name[50];
};

struct stu zh ;
zh.age=23;
zh.name="zhangsan";
printf("%d,%s",zh.age,zh.name);
}

zh.name="zhangsan"; 这样写是不正确的。我帮你改了一下。可以运行的。我试过

#include <stdio.h>
#include<string.h>
main()
{
struct stu
{
int age;
char name[50];
};

struct stu zh ;
zh.age=23;
strcpy(zh.name,"zhangsan");
printf("%d,%s",zh.age,zh.name);
}
还有就是一般把结构体放在main前面定义,比如这题:
#include <stdio.h>
#include<string.h>

struct stu
{
int age;
char name[50];
};
main()
{
struct stu zh ;
zh.age=23;
strcpy(zh.name,"zhangsan");
printf("%d,%s",zh.age,zh.name);
}

字符数组只能在定义时整体赋值,不能在赋值语句中整体赋值,即:

char name[50]="zhangshan"; /*正确*/

char name[50];
name="zhangshan"; /*错误*/

使用字符指针则可以,比如
char *name;
name="zhangshan"; /*正确*/

#include <stdio.h>
struct stu