本文目录一览:
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语言的编程为什么不能运行?
首先你要明白是语言的一个整体的框架,如果你整体的框架是没有构建好的话,那么他是不能够运行的,如果他里面存在了一些错误,他就会导致无法运行,或者是让你重新修改。