您的位置:

c语言程序为何有一半不运行,C语言不运行

本文目录一览:

c语言代码执行到一半终止?

大概问题,我已经知道了,所谓的执行到一半就终止,是因为数组越界了,而且编译器不会报警。

比如,在你这个程序里,我输出50-200,他永远只会提示你有21个,因为你输出之前,还需要把这个偶数存放到一维数组a中,然而一维数组只能存放20个数,50-200中间有76个偶数,到了第20个偶数的时候,数组就已经越界了,程序就运行不正常了,应该是直接跳出了循环。而你是在数组存放了第20个数的后面进行了i++,所以提示是第21个数,数组是从0开始计数的,你是从一开始提示的,所以第21个数其实就是数组a[20]的数,然后就跳出循环了,只要偶数大于21个,程序永远都只显示21个数,建议要么把数组去掉,这样就可以显示全部的偶数了,就正常了,要么把数组设置的大一点,但是这样,如果数太多了,还是会溢出的,看你的感觉是想保存前20个偶数,那么建议程序改成这样,就能即保存前20个数,显示的也是正常的。

代码如下:

#include stdio.h

#include windows.h

int main()

{

int a[20];

int c,d,e,f,g,h,i;

long b;

printf("起始值:");

scanf("%d",c);

printf("终止值:");

scanf("%d",d);

d++;

for(b=c;bd;b++)

{

if(b%2==0)

{

if(i20)

{

a[i]=b;

}

i++;

printf("第%d个偶数:%d\n",i,b);

}

}

printf("%d到%d中有%d个偶数",c,d,i);

return 0;

}

我的c语言程序为什么会执行不了?

这段C语言代码有三个错误:

一、switch单词拼写错误少了c;

二、if(k = 'V')判断是双等于号==;

三、main函数最好没有返回值,这不是大错。

c语言的编程为什么不能运行?

首先你要明白是语言的一个整体的框架,如果你整体的框架是没有构建好的话,那么他是不能够运行的,如果他里面存在了一些错误,他就会导致无法运行,或者是让你重新修改。