Push_back奇数

时间:2017-09-28 13:58:42

标签: loops vector const push-back auto-populate

因此,该函数的目标是在1和提供的整数(包括)之间向数组添加奇数。这似乎是一个简单的任务,但是,我似乎无法成功地将整数添加到实际数组中。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>    

int main()
{
    char *s = "abcdefghijklmnop", *s1=malloc(17);
    int i;
    for(i=0;i<strlen(s);i++)
    {
        *(s1+i) = *(s+strlen(s)-1-i);
    }
    s=s1;
    printf("%s",s);
    free(s1);
    return 0;
}

函数本身不是常量,所以不应该成功地向数组添加值吗?

编辑:这一切都是在一个主要的,所以在这里。

void populate(std::vector<int> ary, int a)
{
    for (int i = 1; i <= a; i++)
    {
        if (i % 2 != 0)
        {

            ary.push_back(i);
        }

    }
}

编辑2:我尝试添加一个return语句,但是我仍然得到结果为零。

int main()
{
    std::vector<int> loli(100);

    populate(loli, 31);


    for (int value : loli)
    {

        std::cout << value << " ";
        system("pause");
    }
}

1 个答案:

答案 0 :(得分:1)

你的函数应该在for循环之后返回最后一个数组,或者你应该将数组作为指向函数的指针传递。