所以我很好奇。我有两个功能,无论是工作,我希望他们的方式,有如下几点:在不同的功能中使用相同的参数
//this function returns the absolute value of a number
int abs(int y) {
if (y < 0) {
return -1 * y;
}
return y;
}
//gives a random number, multiplied by x, in the range 1-y
int randomNum(int x, int y) {
srand((int)time(0));
return abs(x * rand() % y) + 1;
}
他们都工作,所以它们的功能是没有问题的。但是如果你会注意到,它们都使用一个名为“int y”的参数。
我的问题是,尽管这两个函数起作用,这种不好的做法可能会让我在更复杂的程序中使用它吗?或者这不重要,因为这些变量对于它们各自的功能是本地的?
我的意思是,如果我将其中一个“int y”参数更改为其他内容,我只是好奇而已,完全没有什么大不了的。
你知道一个变量的范围是什么? – lU5er
在C++程序中出现的每个名称仅在称为其作用域的源代码的一些可能不连续的部分中有效。http://en.cppreference.com/w/cpp/language/scope – 2017-05-14 15:54:02
Offtopic:你应该只在程序中调用'srand',而不是在每个函数调用中调用。 – mch