我以下列方式使用随机数创建array
5 x 5
。
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main () {
int a[5][5];
int randomNumber;
srand (time(NULL));
// output each array element's value
for ( int i = 0; i < 5; i++ ) {
cout << endl;
for ( int j = 0; j < 5; j++ ) {
a[i][j] = randomNumber;
randomNumber = rand() %100 + 1;
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
但是当我将循环包装到函数中然后调用它时。然后它没有显示任何结果。
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main () {
// output each array element's value
cout <<"Array Results are.....";
int PopulateArray();
return 0;
}
int PopulateArray(){
int a[5][5];
int randomNumber;
srand (time(NULL));
for ( int i = 0; i < 5; i++ ) {
cout << endl;
for ( int j = 0; j < 5; j++ ) {
a[i][j] = randomNumber;
randomNumber = rand() %100 + 1;
cout << a[i][j] << " ";
}
cout << endl;
}
}
现在结果就像这样
问题
为什么我将loop
包裹在function
中时未显示结果?
答案 0 :(得分:0)
您的main
函数从不致电PopulateArray
。第int PopulateArray();
行声明了它不调用它的函数。
答案 1 :(得分:0)
您错误地调用了该函数。代码中的这一行:
int PopulateArray();
并没有真正调用该函数,只是声明它。所以程序所做的就是将文本打印到cout,然后它声明一个函数而不执行它,然后退出。正确的打电话方式是:
PopulateArray();
BTW没有理由让这个函数返回一个int,因为没有从它返回任何整数。