【问题标题】:Error about example in book [closed]关于书中示例的错误[关闭]
【发布时间】:2015-11-01 05:01:32
【问题描述】:

我是 C++ 的初学者,我想学习,因为我正在学习软件工程,我买了一本书,我试图在 dev 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

谁能告诉我这是什么?

【问题讨论】:

  • 复制粘贴错误:i=-+;而(i=255)

标签: compiler-errors dev-c++


【解决方案1】:

我认为您正在查看的代码如下:

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 也显示所有字符,然后等待您的点击退出应用程序

【讨论】:

  • 谢谢!!这就是我正在寻找的解决方案,我注意到了自己;设置 i =0 然后添加 +1 感谢您的帮助
  • 如果那是解决方案,请您选择我的答案作为解决方案
【解决方案2】:
[Error] expected primary-expression before ';' token

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

i =-+;

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

i =- 1;

还是类似的?

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

【讨论】:

  • 感谢您编辑这篇文章(我不知道如何写这样的文章。)是的,i=-1 也有效,我下载了最新版本的 dev C++
【解决方案3】:

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

另外,while (i=255) 将永远循环,每次都将i 设置为 255。 (之后的i++ 将意味着i 在您的printf 语句中每次都是256。)您可能是指while (i &lt; 255)

很可能,您打错了书中的代码。如果这些错误确实印在书中,你应该得到一本更好的书,其编辑不会让明显的明显错误漏掉。

【讨论】:

  • 是的,很抱歉它在那一行,但我发现 i=-+ 没有任何意义的解决方案感谢您的建议,它真的帮助了我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-15
  • 2012-08-03
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多