关于书中示例的错误

Error about example in book

我是 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 等等..

问题是当我按下编译时它说;

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

谁能告诉我这是什么?

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

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

i =-+;

根本没有意义,也不是有效的 C++;也许你想写

i =- 1;

之类的?

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

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

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) 并且跳出循环也显示所有字符,然后等待您单击以退出应用程序

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

此外,while (i=255) 将永远循环,每次循环都将 i 设置为 255。 (后面的 i++ 意味着 i 在你的 printf 语句中每次都是 256。)你可能意味着 while (i < 255).

您很可能输错了书中的代码。如果这些错误确实印在书中,你应该得到一本更好的书,其编辑没有让巨大的明显错误溜走。