因此,该函数的目标是在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");
}
}
答案 0 :(得分:1)
你的函数应该在for循环之后返回最后一个数组,或者你应该将数组作为指向函数的指针传递。