首页 > 软件 > c++使用网上的代码报错

c++使用网上的代码报错

软件 2022-05-19

为什么网上下的C语言程序都不能正常使用我最近学习C

网上下的C语言程序都不能正常使用,一般有这些原因:

  1. 硬件平台相关:

    如果你下的是硬件平台相关的代码,特别是单片机的C语言程序,代码里面有很多是硬件本身的专门特性,除了在指定开发平台上编译运行,否则不能直接拿来用的

  2. 操作系统相关:

    比如一些C语言的源代码可能使用了Linux的特性,但是你在Windows下直接编译就会报错

  3. C语言标准相关:

    如果用的是C11的特性,而你用的是C98标准的编译器,可能就执行不了,举例如下:

    for(int i=0;i<10;i++)

    这一句在老的编译器里面是编译不过的要改写成下面两行

    int i;

    for(i=0;i<10;i++)

  4. 源代码包含非法字符:

    因为排版问题,直接复制黏贴的代码可能包含很多非法字符,比如全角的引号、空格等,需要对源代码清理之后才能运行

  5. 需要第三方的库:

    如果源代码包含了第三方的库,(看开头的#include)这一行,如果你没有下载对应的库也是执行不了的

  6. 代码本身有问题

上面列出的是一些常见的可能性,具体的原因最好看一下你的编译器的输出才好确认。

为什么在网上找的一些c语言程序的代码在vc++6.0中编译总是出现错误?求指教

第一,如果提示某些字符错误(一般看上去是空格,但字符码和空格不一样,编译器不识别),你可以把它的空格全部去掉,再重新整理格式,用查找替换功能协助。 第一,如果没有特殊字符,你要区分它是不是标准的c语言程序。重点看头文件,比如graphics,conio是TC里面的,自然无法再vc6中使用。 你最好有tc和vc两个编译器,有个c/c++学习实验系统集成了tc2 tc3 vc6三者的,你可以试试。

C语言代码报错?

你的代码中,这二个语句,实际应该是一个语句,多了一个分号,导致第二个语句变为无条件执行:

if((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e));
sum++;

应为:

if((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e))sum++;

C语言代码报错?错在哪儿?

只有老式VC++编译器才规定变量声明必须放在最上方,C语言本身并没有这种规定。

另外如果你在用VC++的话,可以抛弃它了,因为比它智能、好用、简洁的编译器有的是,比如我用的Code::Blocks,而且国家二级计算机考试已经开始使用Visual C++ 2010 学习版(即 Visual C++ 2010 Express),也不用VC++了。

所以你的代码没什么错的

#include
intmain(void)//C语言建议这么写,C++可以省略void
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
intmax=0;
if(a>b)
if(a>c)
max=a;
else
max=c;
else
if(b>c)
max=b;
else
max=c;
printf("最大值为max=%d\n",max);

return0;//只有主函数的return0;可写可不写,但仍然建议写上,尤其算法竞赛的时候
}

另外你的算法有些麻烦,如果只是比较三个数,可以这么写:

#include
intmain(void)
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
intmax=a;
if(maxmax=b;
if(maxmax=c;
printf("最大值为max=%d\n",max);
return0;
}

从网上下载的一些C语言源代码,在原地编译其中一个报错

错误:‘::main’必须返回‘int’ 那就改成 int main() { 。。。。。。 return 0; }

标签:CC++ 信息技术 C(编程语言) 编程 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved.