大家好 我是新手 刚作了个小程序 就碰到问题了 请各位大大帮帮忙
#include<stdio.h>#include<stdlib.h>
#include<malloc.h>
void main()
{
int a,b,c=0,i,j;
char *p,*q,m;
p=new char[7];
q=new char[7];
for(a=1001;a<2200;a++)//这里如果把2200改成2300程序执行时就出错
{
b=0;
itoa(a,p,10);
q=p;
for(i=0;i<4;i++)
{
p=q;
p+=i;
m=*p;
for(j=i;j<4;j++)
{
p++;
if(m==*p)b++;
}
}
if(b==1)
{c++;printf("%8d",a);}
}
printf("%8d",c);
}
请高手帮帮忙 这个小程序是把指定范围内的数字先变成字符串,再把字串中有两个同样字符的数选出来 可是我只要把上面标出的地方的数字改成超过2300这个值就出错,错误提示是“0X00406763”指令引用的“0X3534323e”内存。该内存不能为“read”.要终止程序,请单击确定,要调试程序,请单击取消
[ 本帖最后由 song3891 于 2009-10-5 08:57 编辑 ]