一切困难都能打倒我 2023-03-18 06:49 采纳率: 87.1%
浏览 41
已结题

C牛客兔子的序列段错误

兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字
为什么说我段错误?


#include<stdio.h>
int main()
{
    int n=0,a[1005]={0},i=0,j=0,b=0,f=1;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",a[i]);

    for(i=0;i<n;i++)
    {
        for(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;
}
  • 写回答

2条回答 默认 最新

  • 追cium 2023-03-18 06:53
    关注

    参考GPT和自己的思路:

    在第8行,scanf函数中应该使用&a[i]而不是a[i],因为a[i]对应的地址是不确定的。因此,代码运行时可能会出现段错误。正确的写法应该是scanf("%d",&a[i]);。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月18日
  • 已采纳回答 3月18日
  • 创建了问题 3月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部