关于书中的例子有误

时间:2015-08-09 00:46:11

标签: compiler-errors dev-c++

我是C +的初学者,我想学习,因为我正在学习软件工程,我买了一本书,我试图在开发c ++中做这些例子,我得到一个错误,我无法在网上找到解决方案。以下是代码和错误;

#include <stdio.h>
#include <conio.h>

main()
{

    char a;
    int i;
    i =-+;
    while (i=255) {i++;
    printf("%.3d. Alphabet: %c\n",i,i);
    a= getch();

    };
}
书中的

表示输出就像;

  1. 字母:A
  2. 字母:B 等等..
  3. 问题是当我按下编译它说;

    [Error] expected primary-expression before ';' token
    

    任何人都可以告诉我它是什么?

3 个答案:

答案 0 :(得分:0)

[Error] expected primary-expression before ';' token

错误说明的是:编译器需要一个“完整”表达式,他找到了;。通常,编译器(在您的情况下为gcc)也会发出行号,这会直接指向您的问题所在。

i =-+;

简直既没有意义,也没有有效的C ++;也许你想写

i =- 1;

之类的?

另外,请务必使用a recent version of dev C++或其他IDE(那里有更多受欢迎的IDE)。

答案 1 :(得分:0)

我认为您正在寻找的代码如下:

char a;
int i;
i =0;
while (i!=255) {i++;
  printf("%.3d. Alphabet: %c\n",i,i);
};
a= getch();

首先,您必须为i指定默认零值 ,那么你需要循环从零到255计数,所以而不是while(i = 255)必须使用while(i!= 255) 并且pit getch out of loop也显示所有字符,然后等待你的点击退出应用程序

答案 2 :(得分:0)

你没有说出错误在哪一行,但我在i =-+行猜测它,因为那是荒谬的:{{1} }不是您可以分配给变量的数字。

此外,-+将永远循环,每次将while (i=255)设置为255。 (之后的i表示每次i++语句中i将为256。)您可能需要printf

最有可能的是,您错误地输入了图书中的代码。如果这些错误实际上印在书中,那么你应该得到一本更好的书,编辑并没有让明显的错误漏掉。