这是我希望它编译的代码,但它没有:
#include <stdio.h>
#include <stdlib.h>
typedef struct turtle {
char name[20];
int age;
} turtle;
int main(){
turtle koray = {"koray",25};
turtle halim;
halim.name = "halim"; // This line will cause in compile error.
halim.age = 25;
printf("%s\n",koray.name);
printf("%s\n",halim.name);
}
我做错了什么?
这符合成功,但打印垃圾:
*(halim.name) = "halim";
垃圾我的意思是:
koray
p
答案 0 :(得分:3)
您可以通过阅读错误消息找出答案。
error: incompatible types in assignment of ‘const char [6]’ to ‘char [20]’
"halim"
是const char [6]
,name
是char [20]
,他们直接cannot be assigned。
改为使用strcpy()
。
strcpy(halim.name,"halim");
答案 1 :(得分:1)