鱼C论坛

 找回密码
 立即注册
查看: 1470|回复: 8

[已解决]为什么这里的_Bool提示错误,应该没打错吧

[复制链接]
发表于 2020-1-13 12:07:27 | 显示全部楼层 |阅读模式

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

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

x
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         printf("int = %d\n", sizeof(int));
  5.         printf("short int = %d\n", sizeof(short int));
  6.         printf("long int = %d\n", sizeof(long int));
  7.         printf("long long int = %d\n", sizeof(long long));
  8.         printf("char = %d\n", sizeof(char));
  9.         printf("_Bool = %d\n"; sizeof(_Bool));
  10.         printf("float = %d\n", sizeof(float));
  11.         printf("double = %d\n", sizeof(double));
  12.         printf("long double = %d\n" sizeof(long double));
  13.        
  14.         return 0;
  15. }
复制代码
最佳答案
2020-1-13 13:36:45
本帖最后由 sunrise085 于 2020-1-13 14:08 编辑

不知道你运行程序的时候出现了什么错误提示,我看出来的程序错误有三处。
1、_Bool类型在C语言中不是直接用的,而且以前的版本中是没有的。需要用的时候要#include <stdbool.h>,若写上这个头文件还是有错误的话,那就是版本问题了。
2、_Bool打印这一行中sizeof前的逗号写成了分号。
3、long double 打印这一行中的sizeo前丢失了一个逗号。

楼下刚刚把你的程序中的waring也修改了。sizeof函数的返回值是long unsigned int,printf的时候不是%d,而是%lu。

注意!!以后提问问题,请把问题写全,你这样只贴出代码,不贴出错误提示,我们怎么知道你遇到了什么问题呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-13 12:14:18 | 显示全部楼层

回帖奖励 +2 鱼币

你觉得我们知道提示了什么错误吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 12:17:58 | 显示全部楼层
     bool 输于 C++ 数据类型,把源代码文件的扩展名从 ".c" 改成 ".cpp" 再编译试试呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 13:24:20 | 显示全部楼层
jackz007 发表于 2020-1-13 12:17
bool 输于 C++ 数据类型,把源代码文件的扩展名从 ".c" 改成 ".cpp" 再编译试试呢。

_Bool是C99新增加的关键字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 13:36:45 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-1-13 14:08 编辑

不知道你运行程序的时候出现了什么错误提示,我看出来的程序错误有三处。
1、_Bool类型在C语言中不是直接用的,而且以前的版本中是没有的。需要用的时候要#include <stdbool.h>,若写上这个头文件还是有错误的话,那就是版本问题了。
2、_Bool打印这一行中sizeof前的逗号写成了分号。
3、long double 打印这一行中的sizeo前丢失了一个逗号。

楼下刚刚把你的程序中的waring也修改了。sizeof函数的返回值是long unsigned int,printf的时候不是%d,而是%lu。

注意!!以后提问问题,请把问题写全,你这样只贴出代码,不贴出错误提示,我们怎么知道你遇到了什么问题呢。

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
人造人 + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-1-13 13:59:50 | 显示全部楼层
sunrise085 发表于 2020-1-13 13:36
不知道你运行程序的时候出现了什么错误提示,我看出来的程序错误有三处。
1、_Bool类型在C语言中不是直接 ...

2和3是真的没有看出来


_Bool是C99新增加的关键字

  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         printf("_Bool: %lu\n", sizeof(_Bool));
  5.         return 0;
  6. }
复制代码

  1. $ gcc -o main main.c
  2. $ ./main
  3. _Bool: 1
  4. $
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 14:06:41 | 显示全部楼层
人造人 发表于 2020-1-13 13:59
2和3是真的没有看出来

你这个把他的程序中的waring也修改掉了呢。我都懒得去修改了。sizeof的返回值是long unsigned int,printf的时候是%lu。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-13 14:10:34 | 显示全部楼层
sunrise085 发表于 2020-1-13 13:36
不知道你运行程序的时候出现了什么错误提示,我看出来的程序错误有三处。
1、_Bool类型在C语言中不是直接 ...

好的谢谢,我下次注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-13 19:47:10 From FishC Mobile | 显示全部楼层
弱弱的说一句 _Bool是C99新增的,老版本没有是正常的,而头文件,身为一个关键词要什么头文件,除非你要要到他的别名bool,因为bool是定义在stdbool.h里的,另外上面几个大佬说的无符号长整型在C中用%d输出问题也不大吧,楼主要是有兴趣可以看看C PRIMER PLUS的第147有布尔类型的详细解释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 05:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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