对于结构体的一些问题
用的dev,在小甲鱼课上说可以用struct Book book={.xxx=xxx,.xxx=xxx};的格式快速精准赋值,实测不行,赋值为整数时无变化,赋值为字符串时直接无法响应。
于是运用了strcpy方式赋值,但是无法赋值嵌套的结构体,有什么快捷方法吗
除了最基础的一个一个顺着赋值
本帖最后由 jhq999 于 2021-10-6 19:26 编辑
我用的vs
struct Book book={book.xxx=xxx,book.xxx=xxx};
正常赋值
不支持 .xxx=xxx;可以book.xxx=xxx;
也可以Book book={xxx,xxx};struct Book
{
char* a,* b;
};
structBook book={"1","2"}; invalid conversion from 'const char*' to 'char' [-fpermissive]
在字符串定义的时候会出现这个 本帖最后由 jhq999 于 2021-10-6 20:04 编辑
小针鱼 发表于 2021-10-6 19:29
在字符串定义的时候会出现这个
是不是你把字符串写成字符了
“”写成‘’ 哎,没有的,应该是不能之后定义字符串的 #include <stdio.h>
struct Book
{
char title;
int price;
float nz;
}book1,book2;
struct Book scanthree(struct Book book)
{
scanf("%s",book.title);
printf("price\n");
scanf("%d",&book.price);
printf("nz\n");
scanf("%f",&book.nz);
return book;
}
void printthree(struct Book book)
{
printf("title:%s\n",book.title);
printf("price:%d\n",book.price);
printf("nz:%f",book.nz);
}
int main()
{
printf("Çëêäèëμúò»±¾êé:\n");
book1=scanthree(book1);
printthree(book1);
printf("\nÇëêäèëμú¶t±¾êé:\n");
book2=scanthree(book2);
printthree(book2);
}
页:
[1]