jtwc 发表于 2022-8-14 20:59

各位老师,C语言中在数组第1个位置新插入1个数字,结果出来正确,但报错?

本帖最后由 jtwc 于 2022-8-14 21:00 编辑

各位老师,C语言中在数组第1个位置新插入1个数字,结果出来正确,但报错?该如何改呢?谢谢了
#include <stdio.h>


int main()

{
                              
      int n = 5;//表示数值元素的个数
      double num[] = { 16, 25, 9, 90, 23 };
      double c = 1;//新插入的数字
      int i;//循环变量
      
      //插入一个新的数字
      for (i = 5+1; i > -1; i--)
      {
                num = num;
               
      }
      num = c;
      
      
      printf("插入后的结果:\n");
      for (i = 0; i < 5+1 ; i++)
      {
                printf("%.2lf\n", num);
      }
      
      return 0;
}

SLCoCo 发表于 2022-8-14 21:07

你想想看一开始你的数组是多大

shaon153 发表于 2022-8-14 21:09

i = 5,   5到0就是6位了

jtwc 发表于 2022-8-14 21:52

shaon153 发表于 2022-8-14 21:09
i = 5,   5到0就是6位了

老师,改为5,还是报错?#include <stdio.h>


int main()

{
                               
        int n = 5;//表示数值元素的个数
        double num[] = { 16, 25, 9, 90, 23 };
        double c = 1;//新插入的数字
        int i;//循环变量
       
        //插入一个新的数字
        for (i = 5; i > 0; i--)
        {
                num = num;
               
        }
       
        num = c;
       
       
        printf("插入后的结果:\n");
        for (i = 0; i < 5; i++)
        {
                printf("%.2lf\n", num);
        }
       

        getchar();
        return 0;
}

轻描淡写9714 发表于 2022-8-14 21:56

jtwc 发表于 2022-8-14 21:52
老师,改为5,还是报错?#include   




万物始于0啊,亲

无闻无问 发表于 2022-8-14 22:04

4才行,索引0…4,否则越界…

jtwc 发表于 2022-8-14 22:07

无闻无问 发表于 2022-8-14 22:04
4才行,索引0…4,否则越界…

老师,改为4,是不报错,但我要的结果是出来6个数,不是5个数?

无闻无问 发表于 2022-8-14 22:15

你声明数组的大小只有5,不能这样操作的,要动态操作数组,考虑用vector…

jtwc 发表于 2022-8-14 22:17

无闻无问 发表于 2022-8-14 22:15
你声明数组的大小只有5,不能这样操作的,要动态操作数组,考虑用vector…

额,谢谢老师

无闻无问 发表于 2022-8-14 22:22

本帖最后由 无闻无问 于 2022-8-14 22:24 编辑

这样即可,手机测试的…


#include <stdio.h>
#include<vector>
using namespace std;
int main()
{
    //int n = 5;//表示数值元素的个数
    vector<double> num = { 16, 25, 9, 90, 23 };
    double c = 1;//新插入的数字
    num.insert(num.begin(),c);
    for(int i=0;i<num.size();i++)
      printf("%lf\n",num);
    getchar();
    return 0;

}
页: [1] 2 3 4
查看完整版本: 各位老师,C语言中在数组第1个位置新插入1个数字,结果出来正确,但报错?