c语言 结构体
#include <stdio.h>struct Book
{
char title;
char name;
float price;
long int date;
char publisher;
}book;
struct Book book={book.price = 48.8}; //这个通过不了编译,是哪里除了问题呢?
int main(void)
{
//printf("书名:%s\n", book.title);
//printf("作者:%s\n", book.name);
printf("价格:%.2f\n", book.price);
//printf("出版日期:%s\n", book.date);
//printf("出版社:%s\n", book.publisher);
return 0;
} c语言中可以这么写吗?
struct Book book={book.price = 48.8}; 人造人 发表于 2022-3-7 20:41
c语言中可以这么写吗?
不好意思,是我看错了,那个price 前面应该没有book,但是改过来之后还是有问题,问题出在了哪里呢
投入就放过 发表于 2022-3-7 21:12
不好意思,是我看错了,那个price 前面应该没有book,但是改过来之后还是有问题,问题出在了哪里呢
但是改过来之后还是有问题
改过来之后是什么? 人造人 发表于 2022-3-7 21:14
但是改过来之后还是有问题
改过来之后是什么?
这是报错
严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C4305 “=”: 从“double”到“float”截断 Project1 D:\编程\代码\Project1\Project1\源.cpp 12
错误 C2086 “Book book”: 重定义 Project1 D:\编程\代码\Project1\Project1\源.cpp 12
警告 C6064 缺少“scanf_s”的整型参数(对应于转换说明符“4”)。 Project1 D:\编程\代码\Project1\Project1\源.cpp 8
警告 C6273 调用 "scanf_s" 实际类型: "int *" 时需要整数时,非整数传递为 _Param_(4)。 Project1 D:\编程\代码\Project1\Project1\源.cpp 8
投入就放过 发表于 2022-3-7 21:19
这是报错
严重性 代码 说明 项目 文件 行 禁止显示状态
你把代码改成什么了?
发代码 投入就放过 发表于 2022-3-7 21:19
这是报错
严重性 代码 说明 项目 文件 行 禁止显示状态
这不是C语言么?文件后缀怎么是.cpp ?
人造人 发表于 2022-3-7 21:20
你把代码改成什么了?
发代码
#include <stdio.h>
struct Book
{
char title;
char name;
float price;
long int date;
char publisher;
}book;
struct Book book={.price = 48.8}; //这个通过不了编译,是哪里除了问题呢?
int main(void)
{
//printf("书名:%s\n", book.title);
//printf("作者:%s\n", book.name);
printf("价格:%.2f\n", book.price);
//printf("出版日期:%s\n", book.date);
//printf("出版社:%s\n", book.publisher);
return 0;
} 人造人 发表于 2022-3-7 21:21
这不是C语言么?文件后缀怎么是.cpp ?
我不知道欸,这是在vs2022上写的,还不太会用,dev c++不知道为什么不显示报错信息了{:10_266:} 投入就放过 发表于 2022-3-7 21:35
我不知道欸,这是在vs2022上写的,还不太会用,dev c++不知道为什么不显示报错信息了
这代码没问题,你的vs不支持这种写法
$ cat main.c
#include <stdio.h>
struct Book
{
char title;
char name;
float price;
long int date;
char publisher;
}book;
struct Book book={.price = 48.8}; //这个通过不了编译,是哪里除了问题呢?
int main(void)
{
//printf("书名:%s\n", book.title);
//printf("作者:%s\n", book.name);
printf("价格:%.2f\n", book.price);
//printf("出版日期:%s\n", book.date);
//printf("出版社:%s\n", book.publisher);
return 0;
}
$ gcc-debug -o main main.c
$ ./main
价格:48.80
$ 人造人 发表于 2022-3-7 21:45
这代码没问题,你的vs不支持这种写法
嗯嗯,谢谢解答
页:
[1]