| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3232 人关注过本帖
标题:需要声明变量为_Bool类型的程序,为什么编译总显示出错,程序本身没问题
只看楼主 加入收藏
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
结帖率:0
收藏
已结贴  问题点数:10 回复次数:27 
需要声明变量为_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
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
没有_Bool的,把它改成bool。

授人以渔,不授人以鱼。
2012-03-13 06:16
bctea
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2012-2-29
收藏
得分:0 
回复 2楼 TonyDeng
谢谢答疑!
试了bool,还是不行。。。
也试了_bool,都不行
2012-03-13 18:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
把文件名改成simple.cpp
收到的鲜花
  • bctea2012-03-15 04:47 送鲜花  3朵   附言:感谢帮助~~

授人以渔,不授人以鱼。
2012-03-13 18:30
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
用bool,然后#include<stdbool.h>试试

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-03-13 18:37
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
照搬失误一般可能是没有照搬原书的ide,或者之前有铺垫的说明漏掉了,再或者就是书自身的bug。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-03-13 18:39
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
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:1 
个人觉得,editplus+gcc是个不错的学习平台。适用win7/xp
https://down.bccn.net/1974.html
下载频道有下载。不要介意自动完成功能不够强大,初学者多打点代码不吃亏。
收到的鲜花
  • bctea2012-03-15 04:45 送鲜花  3朵   附言:感谢帮助~~~

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-03-14 08:56
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:1 
把下面这个粘到一个名字叫"stdbool.h"的文件中,
然后拷到你的VC目录下面的include目录中就行了。

stdbool.h

00001 /*
00002  * Copyright (c) 2000 Jeroen Ruigrok van der Werven <asmodai@
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright
00011  *    notice, this list of conditions and the following disclaimer in the
00012  *    documentation and/or other materials provided with the distribution.
00013  *
00014  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
00015  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00017  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
00018  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00019  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00020  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00021  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00022  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00023  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00024  * SUCH DAMAGE.
00025  *
00026  * $FreeBSD: src/include/stdbool.h,v 1.6 2002/08/16 07:33:14 alfred Exp $
00027  */
00028
00029 #ifndef _STDBOOL_H_
00030 #define _STDBOOL_H_     
00031
00032 #define __bool_true_false_are_defined   1
00033
00034 #ifndef __cplusplus
00035
00036 #define false   0
00037 #define true    1
00038
00039 #define bool    _Bool
00040 #if __STDC_VERSION__ < 199901L && __GNUC__ < 3
00041 typedef int     _Bool;
00042 #endif
00043
00044 #endif /* !__cplusplus */
00045
00046 #endif /* !_STDBOOL_H_ */
收到的鲜花
  • bctea2012-03-15 04:47 送鲜花  3朵   附言:感谢帮助,虽然对我太深奥。。。

我们都在路上。。。。。
2012-03-14 13:19
快速回复:需要声明变量为_Bool类型的程序,为什么编译总显示出错,程序本身没问 ...
数据加载中...
 
   



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

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