鱼C论坛

 找回密码
 立即注册
查看: 3361|回复: 4

t1定义的是不是错的

[复制链接]
发表于 2022-3-15 20:50:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
struct Test
        {
                int x;
                int y;
        };

        struct Test t1 = {3.0, 4.0};
        struct Test t2 = {3};
        struct Test t3 = {3, 4, 5};
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-15 22:51:48 | 显示全部楼层
你自己动手输出一下不就知道了吗
  1. #include <string.h>

  2. struct Test
  3.         {
  4.                 int x;
  5.                 int y;
  6.         };
  7. int main()
  8. {
  9.       

  10.         struct Test t1 = {3.0, 4.0};
  11.         struct Test t2 = {3};
  12.         struct Test t3 = {3, 4, 5};
  13.                 printf("%d %d\n", t1.x, t1.y);
  14.                 printf("%d %d\n", t2.x, t2.y);
  15.                 printf("%d %d\n", t3.x, t3.y);
  16.         return 0;
  17. }
复制代码


警告信息
17        16        C:\Users\14326\Desktop\鱼c.c        [Warning] excess elements in struct initializer
17        16        C:\Users\14326\Desktop\鱼c.c        [Warning] (near initialization for 't3')

输出
3 4
3 0
3 4


现在你会发现,t1没报错,t3反而警告了
参数和声明的不一致
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-16 15:35:22 | 显示全部楼层
出鱼Cvip账号 QQ:3581843493
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-3-16 18:32:33 | 显示全部楼层
大马强 发表于 2022-3-15 22:51
你自己动手输出一下不就知道了吗

因为我试了一下发现t1和t3都报错,但想着小甲鱼应该不会出个错题。可能是VC++6.0的事
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-16 22:40:59 | 显示全部楼层
cyn.c 发表于 2022-3-16 18:32
因为我试了一下发现t1和t3都报错,但想着小甲鱼应该不会出个错题。可能是VC++6.0的事

也有可能,我用的是devc++
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表