我在这里找不到任何错误。该程序的目的是确定数组元素及其总和的所有可能组合。我正在尝试编写一个程序,它将返回一个元素数组,其中每个元素都不等于任何前一个元素或任何先前元素组合的总和。我这样开始并遇到错误:它说程序已停止工作......
#include <stdio.h>
int m[20];
void initm(int x[]) {
for(int i=0; i<20; i++) {
m[i]=i;
}
}
void sorter(int x[]) {
for(int i=0; i<20; i++) {
for(int j=0; j<20; j++) {
/* nested for loop to get all possible combinations */
printf("%d===%d===%d", x[i], x[j], x[i]+x[j]);
}
}
}
int main() {
initm(m[20]);
sorter(m[20]);
return 0;
}
答案 0 :(得分:4)
m[20]
读取数组末尾之外的int
个元素,以便
initm(m[20]);
sorter(m[20]);
应该是
initm(m);
sorter(m);