小针鱼 发表于 2021-10-6 19:15:16

对于结构体的一些问题

用的dev,在小甲鱼课上说可以用struct Book book={.xxx=xxx,.xxx=xxx};
的格式快速精准赋值,实测不行,赋值为整数时无变化,赋值为字符串时直接无法响应。
于是运用了strcpy方式赋值,但是无法赋值嵌套的结构体,有什么快捷方法吗
除了最基础的一个一个顺着赋值

jhq999 发表于 2021-10-6 19:22:54

本帖最后由 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"};

小针鱼 发表于 2021-10-6 19:28:47

invalid conversion from 'const char*' to 'char' [-fpermissive]

小针鱼 发表于 2021-10-6 19:29:41

在字符串定义的时候会出现这个

jhq999 发表于 2021-10-6 20:02:47

本帖最后由 jhq999 于 2021-10-6 20:04 编辑

小针鱼 发表于 2021-10-6 19:29
在字符串定义的时候会出现这个

是不是你把字符串写成字符了
“”写成‘’

小针鱼 发表于 2021-10-7 18:31:51

哎,没有的,应该是不能之后定义字符串的

小针鱼 发表于 2021-10-8 08:52:43

#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]
查看完整版本: 对于结构体的一些问题