| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3706 人关注过本帖
标题:在VC++6.0编译出现错误,源代码应该没有问题,请大家指导一下
只看楼主 加入收藏
ycxdtdz
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2011-5-31
结帖率:81.82%
收藏
 问题点数:0 回复次数:7 
在VC++6.0编译出现错误,源代码应该没有问题,请大家指导一下
源代码
# include <stdio.h>
bool  Isprime (int val)
{     int i;
      for (i = 2; i<val; ++i)
      {
       if (val%i == 0)
          break;
      }
      if (i == val)
         return ture;
      else
         return false;
}

int  main(void)
{int  m;
 scanf ("%d",&m);
 if (Isprime (m))
     printf("yes");
 else
     printf("no\n");
 return 0;
}
编译后Compiling...
1.c
F:\Downloads\VC++6.0英文版\VC98\Bin\1.c(2) : error C2061: syntax error : identifier 'Isprime'
F:\Downloads\VC++6.0英文版\VC98\Bin\1.c(2) : error C2059: syntax error : ';'
F:\Downloads\VC++6.0英文版\VC98\Bin\1.c(2) : error C2059: syntax error : 'type'
F:\Downloads\VC++6.0英文版\VC98\Bin\1.c(18) : warning C4013: 'Isprime' undefined; assuming extern returning int
Error executing cl.exe.

1.obj - 3 error(s), 1 warning(s)
麻烦大家帮我看一下这3个错误是什么意思?另外error C2061具体是表示哪一行错误?也麻烦大家说一下。谢谢!
搜索更多相关主题的帖子: 源代码 false include return 英文版 
2013-03-08 11:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
F:\Downloads\VC++6.0英文版\VC98\Bin\1.c(2) : error C2061: syntax error : identifier 'Isprime'
错误在第2行,Isprime的返回类型不认识。bool是C99新增的类型,VC++6不支持C99标准,你要使用这个数据类型,把1.c扩展名改成1.cpp,用C++编译器编译。没人说你坚持用C编译器是乖孩子,只会说你挑担不会转肩膀。

VC++6,名字都告诉你这是C++编译器,你非要用来编C,还硬编排说人家不支持C99标准(再说VC++6问世的时候C99还没出现,但当时的C++已经有bool类型,C99是从C++借鉴过去的)。C++兼容C,但没说一定要支持C标准,它只负责支持C++标准。

[ 本帖最后由 TonyDeng 于 2013-3-8 11:36 编辑 ]

授人以渔,不授人以鱼。
2013-03-08 11:24
ycxdtdz
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2011-5-31
收藏
得分:0 
非常感谢!
2013-03-08 14:12
ycxdtdz
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2011-5-31
收藏
得分:0 
回复 2楼 TonyDeng
你好,再请问一下,我把扩展名改成.cpp后,又出现这个错误
# include <stdio.h>
bool  Isprime (int val)
{     int i;
      for (i = 2; i<val; ++i)
      {
       if (val%i == 0)
          break;
      }
      if (i == val)
         return ture;
      else
         return false;
}

int  main(void)
{int  m;
 scanf ("%d",&m);
 if (Isprime (m))
     printf("yes");
 else
     printf("no\n");
 return 0;
}
编译后Compiling...
1.cpp
f:\downloads\vc++6.0英文版\vc98\bin\1.cpp(1) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory。
这个stdio.h头文件为什么会找不到?
2013-03-08 14:36
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:0 
# include <stdio.h>
bool  Isprime (int val)
{     int i;
      for (i = 2; i<val; ++i)
      {
       if (val%i == 0)
          break;
      }
      if (i == val)
         return true;
      else
         return false;
}

int  main(void)
{int  m;
scanf ("%d",&m);
if (Isprime (m))
     printf("yes\n");
else
     printf("no\n");
return 0;
}




运行无误,不知道你为什么有错,就是你的true打错了,,,,,,,
2013-03-08 15:34
gezhongfeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2013-2-2
收藏
得分:0 
#include <stdio.h>

unsigned char  Isprime (int val)
{     int i;
for (i = 2; i<val; ++i)
{
    if (val%i == 0)
        break;
}
if (i == val)
return 1;
else
return 0;
}

int  main(void)
{int  m;
scanf ("%d",&m);
if (Isprime (m))
printf("yes\n");
else
printf("no\n");
return 0;
}
首先c中bool类型和true,false等关键词,这些全部是c++的关键词。你把后缀改为.cpp,你的代码只是true,打错了,改一下就ok了
2013-03-08 16:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你安装的VC++6有问题吧,默认路径不对。

授人以渔,不授人以鱼。
2013-03-09 11:07
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
#include <stdio.h>
#include "stdafx.h"
 bool  Isprime (int val)
 {     int i;
       for (i = 2; i<val; ++i)
       {
        if (val%i == 0)
           break;
       }
       if (i == val)
          return true;
       else
          return false;
 }
 
int  main(void)
 {int  m;
 scanf ("%d",&m);
 if (Isprime (m))
      printf("yes");
 else
      printf("no\n");
 return 0;
 }
这样是没有问题的哦!error C2061: syntax error : identifier 'Isprime'这是说你的Isprime没定义的意思,你双击那个错误vc自动给你顶出错误的那个行

Maybe
2013-03-09 11:28
快速回复:在VC++6.0编译出现错误,源代码应该没有问题,请大家指导一下
数据加载中...
 
   



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

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