清晨小鹿敲门 2022-01-08 19:21 采纳率: 91.7%
浏览 101
已结题

有一种整数存储类型,取值范围- 1024 ~ 1023. 从0开始一 直到1023,再加上1变成-1024,一直循环。 如何把这些数存入数组里面

#include<stdio.h>
int main()
{
int n=0;
int w[n];
while(w[n]!=1024)
{
int a=-1024;
w[n]=a;
++n;
++a;
printf("%d ",w[n]);
}return 0;

  • 写回答

3条回答 默认 最新

  • Code_流苏 优质创作者: C/C++技术领域 2022-01-08 19:53
    关注

    img


    题主整体是有思路的,但是红框中的部分不对,你把a=-1024放循环内,每次运行都会赋值一次给w[n],存数组中的内容全是1024,

    img


    还有这一句,int n=0; int w[n]; 这样写的话 定义的数组就定义成了w[0];也是一点儿细节上的错误吧。

    可尝试下面写法:

    #include<stdio.h>
    
    int main()
    {
        int n=0;
        int w[2100]; //数组开大一些,以免空间不够用
        int a=-1024; 
        while(n<2048){ 
            w[n]=a; //w[n]初始值为-1024,后面通过自增,一直增大到1023
            printf("%5d",w[n]); //设置域宽为5
            ++n;
            ++a;
        }
        return 0;
    }
    
    

    运行结果如图:

    img


    希望对题主有所帮助,望采纳!

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

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月8日