诡秘之旅 发表于 2020-5-28 17:17:47

数组求助

#include <stdio.h>
int main()
{
    const int maxNumber = 25;
    int isPrime;
    int i;
    int x;
    for (i = 0; i < maxNumber; x++) {
      isPrime = 1;
    }
    for (x = 2; x < maxNumber;x++) {
      if (isPrime) {
            for (i = 2; i * x < maxNumber; i++) {
                isPrime = 0;
            }
      }
    }
    for (i = 2; i < maxNumber; i++) {
      if (isPrime) {
            printf("%d\t", i);
      }
    }
    printf("\n");
    return 0;
}
编译器是vs,如何让int isPrime;不报错

xiaosi4081 发表于 2020-5-28 17:23:41

发报错内容

xiaosi4081 发表于 2020-5-28 17:24:35


#include <stdio.h>
int main()
{
    const int maxNumber = 25;
    int isPrime;
    int i;
    int x;
    for (i = 0; i < maxNumber; x++) {
      isPrime = 1;
    }
    for (x = 2; x < maxNumber;x++) {
      if (isPrime) {
            for (i = 2; i * x < maxNumber; i++) {
                isPrime = 0;
            }
      }
    }
    for (i = 2; i < maxNumber; i++) {
      if (isPrime) {
            printf("%d\t", i);
      }
    }
    printf("\n");
    return 0;
}

永恒的蓝色梦想 发表于 2020-5-28 17:25:19

这个不是问题,真正的错误是第8行你把 i++ 写成了 x++。#include <stdio.h>
int main()
{
    const int maxNumber = 25;
    int isPrime;
    int i;
    int x;
    for (i = 0; i < maxNumber; i++) {
      isPrime = 1;
    }
    for (x = 2; x < maxNumber; x++) {
      if (isPrime) {
            for (i = 2; i * x < maxNumber; i++) {
                isPrime = 0;
            }
      }
    }
    for (i = 2; i < maxNumber; i++) {
      if (isPrime) {
            printf("%d\t", i);
      }
    }
    printf("\n");
    return 0;
}

诡秘之旅 发表于 2020-5-28 17:28:40

xiaosi4081 发表于 2020-5-28 17:23
发报错内容

表达式必须含有常量
我想让isPrime这样的效果实现怎么办,vs支持吗

诡秘之旅 发表于 2020-5-28 17:31:31

永恒的蓝色梦想 发表于 2020-5-28 17:25
这个不是问题,真正的错误是第8行你把 i++ 写成了 x++。

这个打错了,主要不是这个问题,我想解决的是isPrime这个问题,编译器要求[]中是常量值

永恒的蓝色梦想 发表于 2020-5-28 17:38:07

诡秘之旅 发表于 2020-5-28 17:31
这个打错了,主要不是这个问题,我想解决的是isPrime这个问题,编译器要求[]中是常量值

这个问题啊,我明白了

先执行这样一段代码int main(){return 0;}

然后把你的代码复制回去就可以了。

VS 的传统艺能

诡秘之旅 发表于 2020-5-28 17:42:15

本帖最后由 诡秘之旅 于 2020-5-28 17:43 编辑

永恒的蓝色梦想 发表于 2020-5-28 17:38
这个问题啊,我明白了

先执行这样一段代码


我先执行int main(){return 0;}之后把全部的代码复制完执行还是报错,是不是我操作有问题

永恒的蓝色梦想 发表于 2020-5-28 17:45:26

诡秘之旅 发表于 2020-5-28 17:42
我先执行int main(){return 0;}之后把全部的代码复制完执行还是报错,是不是我操作有问题

那就截图,发到 https://imgchr.com

诡秘之旅 发表于 2020-5-28 18:39:02

永恒的蓝色梦想 发表于 2020-5-28 17:45
那就截图,发到 https://imgchr.com

审核时间好长,我的三个回复都还没出来,除了这个方法还有其他的方法吗

永恒的蓝色梦想 发表于 2020-5-28 18:54:52

诡秘之旅 发表于 2020-5-28 18:39
审核时间好长,我的三个回复都还没出来,除了这个方法还有其他的方法吗

发图片,别发链接……

诡秘之旅 发表于 2020-5-28 19:10:48

本帖最后由 诡秘之旅 于 2020-5-28 19:12 编辑

永恒的蓝色梦想 发表于 2020-5-28 18:54
发图片,别发链接……

https://s1.ax1x.com/2020/05/28/tekMNQ.png

永恒的蓝色梦想 发表于 2020-5-28 19:13:58

诡秘之旅 发表于 2020-5-28 19:10


我让你先执行一遍 int main(){return 0;}不是把他加到程序开头!

诡秘之旅 发表于 2020-5-28 19:19:52

永恒的蓝色梦想 发表于 2020-5-28 19:13
我让你先执行一遍 不是把他加到程序开头!

我先运行的int main (){return 0;}去掉再加上代码还是那个问题

永恒的蓝色梦想 发表于 2020-5-28 19:26:46

诡秘之旅 发表于 2020-5-28 19:19
我先运行的int main (){return 0;}去掉再加上代码还是那个问题

终极绝招:关了编译器重新打开

诡秘之旅 发表于 2020-5-28 19:30:11

永恒的蓝色梦想 发表于 2020-5-28 19:26
终极绝招:关了编译器重新打开

额,还有没有终极绝招2.0,1.0扛不住 啊
vs2019支持c99吗

永恒的蓝色梦想 发表于 2020-5-28 19:30:56

诡秘之旅 发表于 2020-5-28 19:30
额,还有没有终极绝招2.0,1.0扛不住 啊
vs2019支持c99吗

我就用的 VS2019,但我这正常编译执行了。

诡秘之旅 发表于 2020-5-28 19:33:16

永恒的蓝色梦想 发表于 2020-5-28 19:30
我就用的 VS2019,但我这正常编译执行了。

是不是需要一些设置之类的,玄学啊

永恒的蓝色梦想 发表于 2020-5-28 21:26:22

诡秘之旅 发表于 2020-5-28 19:33
是不是需要一些设置之类的,玄学啊

不需要,vs 本身就是玄学

WoodenlightW 发表于 2020-5-28 23:21:39

const int maxNumber在C语言中代表一个只读变量,本质上还是一个变量,不是常量

const int maxNumber = 25 只是让maxNumber 这个变量值为25,不能再改变它的值

可以用宏定义#define maxNumber   25
页: [1] 2
查看完整版本: 数组求助