6个回答
展开全部
程序语法正确,但有逻辑错误。
你把最后那个for语句中的两个a[c[l]]改成:
a[l]
就好了。
因为前面运行c[0]=0,c[1]=4,c[2]=11,c[3]=16,c[4]=22
当循环到i=1,s=2时,j='b',c[s]=c[2]=11,a[c[s]]=a[c[2]]=a[11]='b',if(a[c[s]]==j)成立,进入最后一个for语句。
进入for循环后,l=c[s]=c[2]=11,然后判断a[c[l]]是否等于' '(空格)。因a[c[l]]=a[c[11]],且慢,c[11]并没有赋值,值是不存在的!极有可能是一个类似852354525之类的怪异数。那么a[852354525]呢?已经严重超出声明的a[80]的范围。
所以,才会导致程序异常结束。
有什么问题请留言。
你把最后那个for语句中的两个a[c[l]]改成:
a[l]
就好了。
因为前面运行c[0]=0,c[1]=4,c[2]=11,c[3]=16,c[4]=22
当循环到i=1,s=2时,j='b',c[s]=c[2]=11,a[c[s]]=a[c[2]]=a[11]='b',if(a[c[s]]==j)成立,进入最后一个for语句。
进入for循环后,l=c[s]=c[2]=11,然后判断a[c[l]]是否等于' '(空格)。因a[c[l]]=a[c[11]],且慢,c[11]并没有赋值,值是不存在的!极有可能是一个类似852354525之类的怪异数。那么a[852354525]呢?已经严重超出声明的a[80]的范围。
所以,才会导致程序异常结束。
有什么问题请留言。
展开全部
当if(a[c[s]]==j)成立时,c[s]为11;下一句for中l==11,而a[c[l]]!=' '中的c[l]还是机器垃圾,所以a[c[l]]!=' '这个判断将会引起运行时错误而中止程序。因为我不知道代码要干什么,所以这里无法改。供参考。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个没什么问题。有的编译器控制台下,就是不会直接返回。会提示你按任意键退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你程序已经执行完成了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询