【问题标题】:Sublime Text 2 Compiling Error (I think)Sublime Text 2 编译错误(我认为)
【发布时间】:2016-02-04 05:47:22
【问题描述】:

我正在使用 Sublime Text 编译我制作的代码,但它给了我这个错误:

[Decode error - output not utf-8]
[Finished in 0.2s with exit code 1]

我虽然是因为我没有将它保存为 UTF-8,但它给了我同样的错误。 我尝试使用 IdeOne 编译它,它编译得很好,但它给出了超出时间限制,但这是因为代码。 这是我的代码:

#include <stdio.h>
int main(void) {
    int x, d;
    for(x=1;  ; x++){
        for(d = 2; d <= 20; d++){
            if(x%d != 0){
                break;
            }
        }
        if(d == 21){
            break;
        }
    }
    printf("%d", x);
    return 0;
}

它似乎有一个无限循环,但实际上没有。

【问题讨论】:

  • 您的代码打印出0 并停止。没有无限循环。
  • 我知道。但我想知道哪里出了问题
  • 这段代码应该做什么?
  • 显示 1 到 20 之间所有数字的倍数。
  • 仍然需要帮助!!

标签: c compilation compiler-errors sublimetext2 utf8-decode


【解决方案1】:

首先,0 是一个答案,因为0 是除0 之外的所有数字的倍数。

如果您要查找从 1 开始的数字,则需要将 for 循环条件从

for(x=0; x = x; x++){

for(x = 1;; x++) {

x = x 在技术上可以工作,因为它将对除0 之外的所有值评估为真。您也可以从2 开始d 而不是1,因为所有数字都可以被1 整除。

【讨论】:

  • 这不是我的问题,我的代码没有问题。我在使用 Sublime Text 和 IDEOne 时遇到问题。
  • 它说:[解码错误 - 输出不是 utf-8] [在 0.2 秒内完成]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 2012-04-12
  • 2012-02-26
  • 1970-01-01
相关资源
最近更新 更多