骆驼671 2021-12-23 20:14 采纳率: 67.5%
浏览 84
已结题

输入数给数组赋值 ,输入-1时停止输入,-1不放入数组

#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[20]={0};
int i,b;
for(i=0;;i++){
scanf("%d",&b);
if(b!=-1) a[i]=b;
printf("a[%d]=%d\n",i,a[i]);
if(b==-1) break;
}

img

为什么会这样?
怎么改?

  • 写回答

1条回答 默认 最新

  • a5156520 2021-12-23 20:31
    关注

    因为前面那个给变量n读取整数的sccanf读取掉一个整数了,所以后面的scanf少了一个数,修改了一下,如下:

    
    #include<stdio.h>
    int main()
    {
        int n;
        scanf("%d",&n);
        int a[20]={0};
        int i,b;
        for(i=0;i<n;i++){
            scanf("%d",&b);
            if(b!=-1) 
                a[i]=b;
            printf("a[%d]=%d\n",i,a[i]);
            if(b==-1) 
                break;
        }
    
    }    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月23日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊