| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3232 人关注过本帖
标题:需要声明变量为_Bool类型的程序,为什么编译总显示出错,程序本身没问题
取消只看楼主 加入收藏
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
结帖率:0
收藏
已结贴  问题点数:10 回复次数:11 
需要声明变量为_Bool类型的程序,为什么编译总显示出错,程序本身没问题
各位大虾,本人菜鸟,自己初学C,用的书是《[中文版]C语言编程:一本全面的C语言入门教程(第3版)》,编程环境是Microsoft Visual Studio 2010 Express。

下面这程序是书中例子,我完全照搬的,
#include <stdio.h>
int main (void)
{
  int p,d;
  _Bool isPrime;
  
  for (p = 2; p <= 50; ++p)
  {
   isPrime = 1;

   for ( d = 2; d < p; ++d)
    if ( p % d == 0)
      isPrime = 0;
    if ( p % d != 0)
      printf ("%i", p);
   }
   printf ("\n");

  return 0;
}

但编译一直出错,提示的情况见附件图,请问这是怎么回事?该如何应对?谢谢各位指教!

 
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 bctea 于 2012-3-13 05:10 编辑 ]
搜索更多相关主题的帖子: return include Microsoft 编程 
2012-03-13 05:08
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
回复 2楼 TonyDeng
谢谢答疑!
试了bool,还是不行。。。
也试了_bool,都不行
2012-03-13 18:24
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
谢谢楼上回贴的各位,所有方法都试过了目前还是不行,我正在百度,有结果就回来汇报。
2012-03-13 21:25
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
哎,各种都努力过了,还是不行,现在怀疑是我用的Microsoft Visual Studio 2010 Express就有问题,因为在尝试包含头文件<stdbool.h>时,居然出错提示是cannot open include file:'stdbool.h': no such file or directory,具体请见下面附图。

问题:那我是不是该换一个更适合C的编程环境?应该用什么?哪里下载合适呢?

很感谢大家的热心帮助

图片附件: 游客没有浏览图片的权限,请 登录注册


PS,我上面被显示出错的程序是这样的,应该它本身没问题吧
#include <stdio.h>
#include <stdbool.h>

int main (void)

{
  int p,d;
  
  bool isPrime;
  
  for (p = 2; p <= 50; ++p)
  {
   isPrime = true;

   for ( d = 2; d < p; ++d)
    if ( p % d == 0)
      isPrime = false;

    if ( p % d != 0)
      printf ("%i", p);
   }
  
  printf ("\n");

  return 0;
}

[ 本帖最后由 bctea 于 2012-3-14 01:36 编辑 ]
2012-03-14 01:34
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
以下是引用lonmaor在2012-3-14 08:56:17的发言:

个人觉得,editplus+gcc是个不错的学习平台。适用win7/xp
https://down.bccn.net/1974.html
下载频道有下载。不要介意自动完成功能不够强大,初学者多打点代码不吃亏。


话说我对版主这个解决方案是最满怀信心的,迅速下载也安装了,可一旦双击运行,就来个操作失败的警告框(具体请见下图)。。。试了多次都一样,也试着选择“以管理员的方式运行”,那就连安装都不成的。

图片附件: 游客没有浏览图片的权限,请 登录注册
2012-03-15 04:33
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
回复 10楼 hellovfp
谢谢,可我太菜了,不懂你说的复制什么的具体怎么操作。。。
2012-03-15 04:35
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
以下是引用google天下在2012-3-14 15:59:22的发言:

你还是用一些简单的编译环境吧比如c-free;完全通过。


能给个好用的具体下载链接吗?
2012-03-15 04:36
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
以下是引用longlong89在2012-3-14 16:23:34的发言:

文件头加句
typedef int bool;


谢谢,这个办法能编译成功,不显示出错了,但程序不运行。。。,具体情况请见下图,程序我也附在后面了。

图片附件: 游客没有浏览图片的权限,请 登录注册


#include <stdio.h>

int main (void)

{
  typedef int bool;
  int p,d;
  
  bool isPrime;
  
  for (p = 2; p <= 50; ++p)
  {
   isPrime = 1;

   for ( d = 2; d < p; ++d)
    if ( p % d == 0)
      isPrime = 0;
    if ( p % d != 0)
      printf ("%i", p);
   }
  
  printf ("\n");

  return 0;
}
2012-03-15 04:38
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
以下是引用lwei在2012-3-14 19:21:30的发言:

我用gcc 4.5.2编译没有问题。
你把下面的语句加到你的程序,看能不能支持,如果不能支持,那你的编译器肯定不支持C99标准了。
#define FUNCTION(func, ...) {\
    (func)(#__VA_ARGS__);}

#define log(format, ...) {\
    fprintf(stderr, "%s-%s-%d\n", __FILE__, __func__, __LINE__); \
    fprintf(stderr, format, ##__VA_ARGS__);}


非常谢谢啊~~ 这样也是编译能成功,但不运行(请见下图),我把你代码加的位置不知道对不对,是这样的:
#include <stdio.h>

#define FUNCTION(func, ...) {\
    (func)(#__VA_ARGS__);}

#define log(format, ...) {\
    fprintf(stderr, "%s-%s-%d\n", __FILE__, __func__, __LINE__); \
    fprintf(stderr, format, ##__VA_ARGS__);}

int main (void)

{
  typedef int bool;
  int p,d;
  
  bool isPrime;
  
  for (p = 2; p <= 50; ++p)
  {
   isPrime = 1;

   for ( d = 2; d < p; ++d)
    if ( p % d == 0)
      isPrime = 0;
    if ( p % d != 0)
      printf ("%i", p);
   }
  
  printf ("\n");

  return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册
2012-03-15 04:42
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
回复 21楼 lonmaor
版主,非常感谢!现在是这样的:

1.那个editplus包解压缩后,运行其中的setup.bat,然后会往注册表里写信息,然后在setup.bat的目录下生成editplus的快捷方式。记得不用以管理员的方式运行。你把快捷方式拖到桌面上就可以用了。
——都照做了,但一旦点击快捷键想启用就会出现下面警告:
图片附件: 游客没有浏览图片的权限,请 登录注册

    点“我同意”后,就会这样:
图片附件: 游客没有浏览图片的权限,请 登录注册

    然后点关闭,会继续出现同样错误提示,再这样重复点几次关闭,提示会终于消失,
    这时根据editplus+gcc目录下《如何使用》的说明,应该是“单击工具栏上面第一个按钮,在弹出的下拉菜单中选择“C/C++”,就打开了一个文档,里面已经有写好的代码了。”,实际一旦选择“C/C++”,就又会出现第二个错误提示,如此无限循环。。。

2. 至于你发的那个错误信息,你试着把附件里的文件解压缩后
   放到editplus目录下,和别的acp文件在一起。
——照做了,放在editplus目录下的Templates文件夹,并替换了原来的同名htmlbar.acp文件;

3. editplus+gcc目录下有说明文件的,可以详细看看。
有两个,《使用技巧集萃》说编程技巧的暂时用不到,《如何使用》我是一步步跟着做的,
但“选择“工具”-》“GCC C/C++”菜单来编译这个程序(建议使用快捷键,Alt+1),系统会提示你保存程序。”这里,
首先工具栏下没有“GCC C/C++”菜单可选择,其次快捷键Alt+1会马上出现这样的错误提示:
图片附件: 游客没有浏览图片的权限,请 登录注册


4. 所以我现在暂时怀疑这个供下载的EditPlus.rar本身就不大好使。。。

[ 本帖最后由 bctea 于 2012-3-15 19:03 编辑 ]
2012-03-15 18:53
快速回复:需要声明变量为_Bool类型的程序,为什么编译总显示出错,程序本身没问 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031642 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved