c语言程序:编译成功,但windows无法执行

#include<stdio.h>#include<string.h> #include<stdlib.h>int main(){ int a,i,len,next,top,mid; char s[101]; a=99999; while(a!=10000) { len=strlen(a); mid=len/2-1; top=0; for(i=0;i<=mid;i++) s[++top]=a; if(len%2==0) next=mid+1; else next=mid+2; for(i=next;i<=len;i++) { if(a=s[top]) break; top--; } if(top==0) { printf("%d",&a); break; } a--; } system("pause"); return 0; }

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main() {
int a,i,len,next,top,mid;
char s[101];
a=99999;
while(a!=10000) {
len=strlen(a);
mid=len/2-1;
top=0;
for(i=0; i<=mid; i++) s[++top]=a;
if(len%2==0) next=mid+1;
else next=mid+2;
for(i=next; i<=len; i++) {
if(a=s[top]) break;
top--;
}
if(top==0) {
printf("%d",&a);
break;
}
a--;
}
system("pause");
return 0;
}

你对int进行了,是非法的操作

追问

那如何才能让这个程序成功呢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-15
是代码问题,你大概是哪里的堆栈越界了,比如数组越界追问

是不是要是用int a[100]这种形式而不是int a

追答

发代码看看吧

追问

抱歉,代码太长不能上传,只能发图片了

第2个回答  2017-10-20
没看你代码干嘛的,不过你int a还strlen(a)肯定完蛋咯