兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字
为什么说我段错误?
#include
int main()
{
int n=0,a[1005]={0},i=0,j=0,b=0,f=1;
scanf("%d",&n);
for(i=0;i"%d",a[i]);
for(i=0;ifor(j=0;j<35;j++)
if(j*j==a[i])
{ f=0;
break;}
if(f==1&&a[i]>b)
{b=a[i];}
}
printf("%d",b);
return 0;
}
参考GPT和自己的思路:
在第8行,scanf函数中应该使用&a[i]而不是a[i],因为a[i]对应的地址是不确定的。因此,代码运行时可能会出现段错误。正确的写法应该是scanf("%d",&a[i]);。
段错误就是你的指针指向了无效的地方