2 maomingtangtangzhu maomingtangtangzhu 于 2014.12.18 13:32 提问

为什么我的这个c程序会无法启动,拒绝访问,以前出错都可以按提示修改的

#include"stdio.h"
int main()
{
int m, n, i;
int a[20] = { 2, 3 };
for (m = 1; m <= 19; m++)
{
for (n = a[m] + 1;; n++)
{
int c = 1;
for (i = 0; i <= m&&c != 0; i++)
{
if (n%a[i] == 0) c = 0;
if (i = m)
{
a[m + 1] = n;
printf("%d", a[m + 1]);
}
}
}
}
return 0;
}

4个回答

save4me
save4me   Ds   Rxr 2014.12.18 13:37

用你的代码在Dev C++编译,可以执行的,只不过我把#include"stdio.h"该改成了#include< stdio.h>

maomingtangtangzhu
maomingtangtangzhu 回复save4me: 嗯,我修改了几次后成功了,原来那个好多问题,谢谢啊
3 年多之前 回复
save4me
save4me 我觉得不是你想要的结果,因为现在程序一直输出,刷屏一样的。就像你说的,第二个for没有判断停止的条件。你的程序是想实现什么,然后看看怎么修改。
3 年多之前 回复
maomingtangtangzhu
maomingtangtangzhu 可以把结果截图给我吗?我看是否得到我要的结果,那个双引号不会有什么问题吧
3 年多之前 回复
u011767611
u011767611   2014.12.18 13:44
if(i=m)

是什么意思,我想反问你?
你是想判断他们相等,还是m赋值给i是否成功!

maomingtangtangzhu
maomingtangtangzhu 额,写错了,是判断相等,我的第二个for没有结束语句也是个问题,但我还是奇怪问什么不提示错误处,而是直接无法执行
3 年多之前 回复
nanjian011
nanjian011   2014.12.18 14:47

应该问题不大,你是用什么编译器没办法运行,还是没办法编译

maomingtangtangzhu
maomingtangtangzhu 已经修改成功了,之前调试时会弹出无法执行等字眼,我也不知道是什么意思,之前出错都不是那样的,谢谢!
3 年多之前 回复
u011767611
u011767611   2014.12.18 18:02

我不知道你试图写这段代码做什么,但是我给你修改后如下:
第一:你出现无法运行,是因为你通过下表i访问数组a时,

//if (n % a[i] == 0) 

这句话本身没什么问题,但是当他试图遇到i>=2时
你的数组a[2]没有初始化,所以会出错。

#include <stdio.h>
#define MAX_N 100
int main()
{
    int m, n, i;
    int a[20] = { 2, 3 };
    for (m = 1; m <= 19; m++)
    {
        for (n = a[m] + 1;n<MAX_N; n++)
        {
            int c = 1;
            for (i = 0; i <= m && c != 0; i++)
            {
                /*Yur are just init the array with a[0]=2,a[1]=3*/
                 /*You try to call a uninit array ..
                  *if you wanna do it with 'i' as index
                  please make sure you a[index] have init first
                  */
                //if (n % a[i] == 0) {
                if (n % a[0] == 0) {
                    c = 0;
                }
                if (i == m)
                {
                    a[m + 1] = n;
                    printf("%d", a[m + 1]);
                }

            }

        }
    }
    return 0;
}

代码的注释,我只能用简单而且有可能有大量语法错误的英文写。
不过这里我的中文说明,希望我能够说得清楚。
希望能帮到你!

maomingtangtangzhu
maomingtangtangzhu 回复u011767611: 好的,我是初学者,能在这里找到帮忙的人真好,最近才发现这么好的地方,感谢你们这些好心人士!
3 年多之前 回复
u011767611
u011767611 恩恩!有什么问题可以下次再交流(记住写清楚你的目的,我们才好帮到你哦!)加油!
3 年多之前 回复
maomingtangtangzhu
maomingtangtangzhu 很感谢啊!我修改成功了,我是想编程寻找素数(自己设计的方法),修改后的代码如下#include"stdio.h" int main() { int m, n, i,z; int a[20] = { 2, 3 };/*假设已知最小两个素数,然后递推几个*/ for (m = 1; m <= 18; m++)/*m作为数组下标*/ { z = 0; for (n = a[m] + 1; z != 1; n++)/*寻找紧邻a【m】的下一个素数*/ { int c = 1; for (i = 0; i <= m&&c != 0; i++) { if (n%a[i] == 0) c = 0; if (i == m) { a[m + 1] = n; printf("%d ", a[m + 1]); z = 1; } } } } return 0; }
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VS2015运行程序时拒绝访问
平常玩游戏打开TGP,打完游戏之后再用vs写代码都没怎么出现过问题,今天玩完CF之后,运行代码发现TMD拒绝访问,我靠,网上搜了一下,都说是TGP的原因,估计是加速的时候把vs里面的一些功能给关了,而且关了TGP也没用,只能重启电脑了,亲测有效。
尝试运行项目时出错,无法启动程序,拒绝访问 或其他类似提示解决办法
1  有时候使用vs启动调试项目  会有提示 尝试运行项目时出错,无法启动程序,拒绝访问  或者其他类似提示,原因是运行了lol等类似游戏或者360的游戏或者网购模式导致的,解决办法就是退出游戏,结束相关进程,等待一会就好了,实在不行重启可以解决问题
Debug:尝试运行项目时出错:无法启动程序XXX 拒绝访问
debug
vs2010 运行时出现无法启动程序 拒绝访问的一个可能的原因
最近在用vs2010,在opencv2.4.6条件写车牌识别的程序,时常会出现  无法启动程序“这里是.exe文件的路径” 拒绝访问  尝试了各种方法,包括重启vs等还是不行,但是每每重启电脑,又可以了,最后发现是360安全卫士搞得鬼,只要点击360 安全卫士,然后把阻止可以程序运行 设为关闭状态就可以了,具体详见下图:
远程桌面连接控件无法初始化的问题及其解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101             VisualStudio提供了一个基于RDP(Remote Desktop Protocol)协议的用于远程登陆的activeX控件。直接把控件拖拽到对话框上总是出现这样的错误:           重复了几次都出现这个错误,后面只有采取动态创建控件的做法才解决了这个错误,
程序无法启动ALL_BUILD 拒绝访问
用cmake编译完opencv3.0后,发现编译没有问题,但尝试调试的时候报错'无法启动.../ALL_BUILD拒绝访问'. 调了很久才解决,方法是,卸载所有无关工程,只保留一个你需要的工程,这时候ZERO_CHECK以及ALL_BUILD都没有必要存在了。 参照:http://blog.csdn.net/jtop0/article/details/6167432 CMake 相对于其他类
VS2010->无法启动程序 拒绝访问
问题描述 下午玩了会LOL,打开VS调试代码,出现如下问题:编译能通过调试(F5)无法启动。 解决办法 方法一:直接点击运行(Ctrl+F5) 方法二:找到编译链接生成的xxx.exe,直接运行 方法三:直接关闭游戏,一切恢复正常
关于无法启动程序 all_build
将所要运行项目设成启动项
关于运行java程序报错拒绝访问的问题
一般是由于你的程序需要访问的文件的权限问题,查看访问的文件的属性,看看权限,是不是为只读权限,然后修改权限,设置为完全控制最好,然后再次运行程序,如果还有文件,可能就是由于那个文件所在的文件位置的访问权限问题,这个时候,只要把你所要访问的那个文件移到D盘或者其他盘(C盘以外的其他盘都可以),然后再次运行程序,就OK啦
【问题】无法启动程序"XXX.exe",拒绝访问,解决方案
问题:无法启程序,拒绝访问你在写程序的时候,是否遇到类似的问题: 这样的问题遇到多次了,就也有了解决方案。解决方案 使用管理员权限运行VS2008,如下图: 再次打开项目,运行试试。如果不起作用,再试试第二步。 发生这样的事情可能是因为,程序正在被打开。所以我们打开【任务管理器】,看看是否有devenv.exe正在运行,如果有,直接结束devenv.exe进程。 接着再打开VS,运行你的项目,试